【问题标题】:Python Selenium, select the next element in html DOMPython Selenium,选择html DOM中的下一个元素
【发布时间】:2022-06-11 14:35:41
【问题描述】:

我必须在页面上进行一些自动化操作。 该页面由表格组成,在每个 td 元素内我有 2 个 a 标签,第一个带有类,第二个没有类或 id。

我可以很容易地选择一个与班级,但如何得到另一个?有没有办法像在 css 中一样选择另一个元素旁边的元素?

这是页面结构的草稿

<table>
    <tr>    
        <td>
            <a class="mylink"> element 1 </a>
            <a>
                <img src="">
            </a>
        </td>
    </tr>
    <tr>    
        <td>
            <a class="mylink"> element 2 </a>
            <a>
                <img src="">
            </a>
        </td>
    </tr>
</table>

我可以选择第一个

fileLinkClass = "mylink"
driver.find_element(by=By.CLASS_NAME, value=fileLinkClass)

但我需要选择并单击没有类的链接。我怎样才能做到这一点? 非常感谢

【问题讨论】:

    标签: python selenium selenium-webdriver automation selenium-chromedriver


    【解决方案1】:

    你可以使用 xpath 选择器

    '//td/a[2]'
    

    查找“td”下的所有第二个“a”

    【讨论】:

      【解决方案2】:

      尝试使用 css 选择器

      单元素选择

       driver.find_element(By.CSS_SELECTOR,'.mylink + a')
      

      多元素选择

      driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
      

      创建一个列表切片然后单击。例如:

      element = driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
      element = element[0].clik()
      element = element[1].clik()
      

      【讨论】:

        猜你喜欢
        • 2014-09-23
        • 1970-01-01
        • 2021-04-28
        • 2021-12-08
        • 2017-05-25
        • 2017-03-07
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        相关资源
        最近更新 更多