【问题标题】:Select an element with duplicate class name with selenium使用 selenium 选择具有重复类名的元素
【发布时间】:2020-10-10 08:57:32
【问题描述】:

<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>

嗨,selenium noob 在这里使用 Python 工作。我想在 Instagram 上打开“关注者”页面(查看有多少人关注我),似乎 postsfollowersfollowing 都有相同的类名,来自 &lt;li&gt;、@987654327 @, &lt;span&gt;(请原谅我的 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 代码不起作用(是的,我知道这不是一个完整的链接,但这就是 HTML 中的href

b.如何让关注者页面/弹出窗口从 selenium 打开?

【问题讨论】:

    标签: python html selenium class href


    【解决方案1】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2017-05-12
      • 2015-08-23
      • 2021-01-18
      相关资源
      最近更新 更多