Selenium Xpath有时可以工作,以下时间不起作用

时间:2018-04-23 16:56:46

标签: selenium

我正在尝试创建一个应用程序来自动化使用selenium在linkedin上应用作业。

当我在网页上找到一个元素的xpath并告诉我的代码找到该元素时,它找到了它并点击它没有任何问题。

然而,当我稍后在

上运行相同的确切代码时
alpha = driver.find_element_by_xpath("//*[@id='ember2350']/form/button")

我遇到了没有这样的元素异常,为什么会发生这种情况?

编辑: 这是我想要的按钮的HTML

<button aria-expanded="false" aria-controls="linkedin-features-facet-values" class="search-s-facet__name-wrap search-s-facet__name-wrap--pill button-secondary-medium-muted" data-is-animating-click="true">
  <div class="search-s-facet__name-wrap-container search-s-facet__name-wrap-container--pill">
    <div class="search-s-facet__name">
      <span class="visually-hidden">Expand LinkedIn Features facet</span>
      <h3 class="search-s-facet__name Sans-17px-black-55%-semibold">LinkedIn Features</h3>
    </div>
      <span class="search-s-facet__svg-icon svg-icon-wrap"><li-icon aria-hidden="true" type="caret-filled-down-icon" size="small"><svg viewBox="0 0 24 24" width="24px" height="24px" x="0" y="0" preserveAspectRatio="xMinYMin meet" class="artdeco-icon" focusable="false"><path d="M8.8,10.66L14,5.12A0.07,0.07,0,0,0,13.93,5H2.07A0.07,0.07,0,0,0,2,5.12L7.2,10.66A1.1,1.1,0,0,0,8.8,10.66Z" class="small-icon" style="fill-opacity: 1"></path></svg></li-icon></span>
  </div>
</button>

2 个答案:

答案 0 :(得分:1)

在LinkedIn上driver.find_element_by_xpath("//button[.//span='Expand LinkedIn Features facet']").click() 是动态值,因此您不应该使用它们来定位元素。请尝试以下方式:

DataCache

答案 1 :(得分:0)

似乎Id - “ember2350”是动态,并且数字正在发生变化,这就是为什么它不能正常工作,因为它每次都在变化。

使用此xpath:

//span[normalize-space()='Easy Apply']

enter image description here

相关问题