Select 具有重复 class 名称的元素与硒

Select an element with duplicate class name with selenium

<ul class="k9GMp ">
  <li class="Y8-fY "><span class="-nal3 "><span class="g47SY ">2</span> posts</span>
  </li>
  <li class="Y8-fY "><a class="-nal3 " href="/username/followers/" tabindex="0"><span class="g47SY " title="590">590</span> followers</a></li>
  <li class="Y8-fY "><a class="-nal3 " href="/username/following/" tabindex="0"><span class="g47SY ">479</span> following</a></li>
</ul>

嗨,硒新手在 Python 工作。我想在 Instagram 上打开 'followers' 页面(看看有多少人关注我),似乎 postsfollowersfollowing 都具有相同的 class的名字,来自<li><span><span>(原谅我不好HTML,不是我的专长)。

-我尝试使用 driver.find_element_by_link_text('/username/followers/') 并收到 NoSuchElementException

我知道这里有一个 similar question in java 但这对我没有帮助,因为我在 Python 中需要它。

此外,instagram.com 上的关注者页面是 url instagram.com/username/followers/ 上的一个弹出框,但是您自己去 url 会自动将您转到 instagram.com/username/

请告诉我:

一个。为什么我的 link_text 代码不起作用(是的,我知道它不是完整的 link,但这就是 HTML 中的 href

b。我怎样才能让追随者 page/popup 从 selenium 打开?

试试这个:

e = driver.find_element_by_xpath("//a[@class='-nal3' and contains(text(),'followers')]").click()