如何通过标记名和类来查找列表元素?

2024-09-24 06:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我的网站有许多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标记,然后单击“全部”,使用selenium,我只找到了按标签名称查找元素和按类别名称查找元素,我不知道如何查找两种情况下的元素,我尝试了:

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.elementnotinteractiableexception:Message:element不可交互

请帮帮我,谢谢


Tags: in名称元素get网站seleniumattribute标签
2条回答

试试这个

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

for elem in elems:
   elem.click()

我解决了我的问题:

  • 要查找具有标记名和类名的元素,我使用xpath:

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

  • 我可以点击的标签是标签,而不是我以前做的标签

相关问题 更多 >