如何使用 Selenium 和 Python 在 Instagram 上找到取消关注按钮?

时间:2021-02-23 18:15:49

标签: python selenium xpath

我想用selenium在下图中找到XPath按钮:

enter image description here

但是因为顶部按钮上的XPath按钮每次都会改变,所以我决定为它制作一个XPath:

driver.find_element_by_xpath('//button[@text=""]').click()

运行时,我的程序提示xpath无效

我很好地研究了 xpath 构建方法,但找不到适合我的程序的解决方案。

如果您有解决方案,请写在答案部分

非常感谢

2 个答案:

答案 0 :(得分:0)

[@text=""] 谓词“假定”您要选择具有 属性 text 和空值 (<button text="">button text</button>) 的元素。

如果您想选择带有空文本节点 (<button></button>) 的元素,请尝试

'//button[text()=""]'

答案 1 :(得分:0)

这是一个要使用的 xpath:

//button[.//span[@aria-label='Following']]

它选择具有 aria-label 属性的子跨度节点的任何按钮。这适用于 intagram,因为 dom 看起来像:

<span class="vBF20 _1OSdk">
  <button class="_5f5mN    -fzfL     _6VtSN     yZn4P   ">
    <div class="                     Igw0E   rBNOH          YBx95       _4EzTm                                                                                                              " style="height: 28px;">
      <span aria-label="Following" class="glyphsSpriteFriend_Follow u-__7">
      </span>
    </div>
  </button>
</span>