而不是显示有关标签的信息“ li”-标签,而是引发AttributeError

问题描述

代码

  1 main = webdriverwait(driver,6).until(EC.presence_of_element_located((By.CLASS_NAME,"global-nav__nav")))

  2 lists = main.find_elements_by_class_name("global-nav__primary-items")

  3 my_network = lists.get_property('li')[0].keys()

  4 my_network

错误

AttributeError:“列表”对象没有属性“ get_property”

请提出一些有关使用硒提取列表信息的更多信息

解决方法

此行

lists = main.find_elements_by_class_name("global-nav__primary-items")

正在返回与该标识符匹配的所有元素。您会得到一个列表。

然后,当您执行此操作时:

my_network = lists.

您没有访问元素,而是在访问列表本身。

您可以这样做:

my_network = lists[0].get_property('li')[0].keys()

其中[0]是列表中的第一项(假设行的其余部分正常工作……一眼我不确定其余部分.get_property('li')[0].keys()

或者您可以遍历所有内容:

for x in lists
    print(x.text) # do your action here

或者,如果只有一个与您的班级相匹配的元素,则可以使用:

main.find_element_by_class_name("global-nav__primary-items")

请注意,这是find_element...find_elements... 这不会返回列表,而是返回一个we元素。

如果您可以围绕问题共享html代码,则通常有人可以帮助您进行标识和编码。