如何使用Selenium和Python查找对象

时间:2019-01-19 04:44:25

标签: python selenium xpath css-selectors

因此,我已经使用find_element_by_xpath使用硒在同一html中将不同的对象分层。

但是现在我试图在同一html上查找特定元素,总是复制xpath(chrome> inspect element> copy xpath),并且出现 NoSuchElementException 错误。

对象在任何iframe之外。

在这里尝试访问的对象:

<a class="carb-de-grid-name-link" data-index="1">CapLeads DataExtension_Copy</a>

还有整个html内容:

https://docs.google.com/document/d/1QfKlfYcH1y-aZ1oOZXzPwR1qeas7QjQDo0VeQOqdm-E/edit?usp=sharing

python行:

link_data_extension_2=driver.find_element_by_xpath('//*[@id="dg-wrap"]/div[2]/div[2]/div[2]/div[1]/div[3]/div[2]/a')

我已经尝试暂挂该程序并等待页面加载(20s),什么也没有。

感谢任何输入。

1 个答案:

答案 0 :(得分:1)

要查找文本为 CapLeads DataExtension_Copy 的元素,可以使用以下任一解决方案:

  • 使用LINK_TEXT

    link_data_extension_2 = driver.find_element_by_link_text("CapLeads DataExtension_Copy")
    
  • 使用CSS_SELECTOR

    link_data_extension_2 = driver.find_element_by_css_selector("a.carb-de-grid-name-link")
    
  • 使用XPATH

    link_data_extension_2 = driver.find_element_by_xpath("//a[@class='carb-de-grid-name-link' and text()='CapLeads DataExtension_Copy']")