提问者:小点点

它不显示有关tage(“li”-tage)的信息,而是抛出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:“List”对象没有属性“get_property”

请提供更多关于使用selenium提取列表信息的信息


共1个答案

匿名用户

这一行

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

或者,如果只有1个元素与您的类匹配,则可以使用:

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

注意这是Find_Element...vsFind_Element...这将不返回列表,而是返回单个we元素。

如果您可以围绕您的问题共享html代码,那么通常有人可以在标识和代码方面帮助您。