我想用selenium在下图中找到XPath按钮:
但是因为顶部按钮上的XPath按钮每次都会改变,所以我决定为它制作一个XPath:
driver.find_element_by_xpath('//button[@text=""]').click()
运行时,我的程序提示xpath无效
我很好地研究了 xpath 构建方法,但找不到适合我的程序的解决方案。
如果您有解决方案,请写在答案部分
非常感谢
答案 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>