如何通过标签名称和类硒查找列表元素?

时间:2020-09-19 02:28:24

标签: python python-3.x selenium

我的网站上有很多span标签:

<span class="aaa bbb ccc ddd">
   <span class="eee"></span>
   <span class="ggg"></span>
   <a href="#" class="hhh">Text</a>
</span>

我需要找到所有带有class =“ ddd”的span标签,并单击所有元素,使用硒,我刚刚找到了find_elements_by_tag_name和find_element_by_class_name,我不知道如何在两种情况下都找到元素,我尝试过:

listEle = driver.find_elements_by_tag_name("span")
for a in listEle:
    print(a.get_attribute('class'))
    if "ddd" in a.get_attribute('class'):
        a.click()

但是我收到错误消息:

selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互

请帮助我,谢谢。

2 个答案:

答案 0 :(得分:0)

尝试一下,

elems = driver.find_elements_by_xpath("//span[@class='ddd']//a")

for elem in elems:
   elem.click()

答案 1 :(得分:0)

我解决了我的问题:

  • 要查找带有标签名称和类名称的元素,我使用xpath:

elems = driver.find_elements_by_xpath ("//span[contains(@class, 'ddd')]/a")

  • 我可以单击的标签是标签,而不是以前的标签。