如何使用Selenium和Python查找对象

如何使用Selenium和Python查找对象,python,selenium,xpath,css-selectors,Python,Selenium,Xpath,Css Selectors,因此,我使用了find_element_by_xpath,使用selenium在同一html中使用不同的对象 但是现在我试图在同一个html上找到一个特定的元素,总是复制xpath(chrome>inspect element>copy xpath),我得到了NoSuchElementException错误 对象位于任何iframe之外 以下是我试图访问的对象: <a class="carb-de-grid-name-link" data-index="1">CapLeads Dat

因此,我使用了find_element_by_xpath,使用selenium在同一html中使用不同的对象

但是现在我试图在同一个html上找到一个特定的元素,总是复制xpath(chrome>inspect element>copy xpath),我得到了NoSuchElementException错误

对象位于任何iframe之外

以下是我试图访问的对象:

<a class="carb-de-grid-name-link" data-index="1">CapLeads DataExtension_Copy</a>
我已经试着按住程序,等待页面加载(20秒),什么也没有


欢迎任何输入。

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

  • 使用
    链接文本

    link_data_extension_2 = driver.find_element_by_link_text("CapLeads DataExtension_Copy")
    
  • 使用
    CSS\u选择器

    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']")
    

xpath有很多部分。看起来一个额外的div很容易潜入源代码,或者一个被删除。您是否尝试过一些不太复杂的方法,例如仅查找具有指定文本或指定类的锚?您提到的“CapLeads DataExtension\u Copy”Html元素在共享的源文件中不可用。@BryanOakley我是xpath新手,到目前为止一直在成功使用chrome>inspect>copyxpath。将查找具有指定文本的更接近的锚。当我在google文档中搜索“CapLeads”时,它没有找到任何内容。我尝试了所有建议,但都没有找到元素,错误为“NoTouchElementExeption”和“找不到元素”。肯定是selenium在页面中看不到对象的问题。
link_data_extension_2 = driver.find_element_by_xpath("//a[@class='carb-de-grid-name-link' and text()='CapLeads DataExtension_Copy']")