【问题标题】:Find the second element from DOM using selenium and python [duplicate]使用 selenium 和 python 从 DOM 中查找第二个元素 [重复]
【发布时间】:2019-03-24 11:36:28
【问题描述】:

我的网页上有 2 个元素具有相同的类名,我正在尝试访问第二个元素,但我无法做到。

跨度如下所示:

<span class="REPORTING_DASHBOARDS__link navMenuLabel ">

Dashboards

</span>

我的这部分代码如下所示:

dashboards_button = driver.find_element_by_css_selector(".REPORTING_DASHBOARDS__link.navMenuLabel")[1]                                                          
dashboards_button.click()

【问题讨论】:

  • 你可以试试driver.find_elements_by_class_name("REPORTING_DASHBOARDS__link navMenuLabel")[1]

标签: python selenium selenium-webdriver xpath css-selectors


【解决方案1】:

您必须使用find_elements_ 而不是find_element_ 来获取所有元素。 find_element 只返回第一个可能的元素。

dashboards_button = driver.find_elements_by_css_selector(".REPORTING_DASHBOARDS__link.navMenuLabel")[1] 

如果它与 find_element 在同一父级下,则使用 nth-child

dashboards_button = driver.find_element_by_css_selector(".REPORTING_DASHBOARDS__link.navMenuLabel:nth-child(1)")   

如果不在同一个父目录下,则改为xpath,

dashboards_button = driver.find_element_by_xpath("//[contains(@class,'REPORTING_DASHBOARDS__link navMenuLabel')][1]")   

【讨论】:

    猜你喜欢
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多