提问者:小点点

如何在不考虑div索引的情况下识别XPath?


我正在编写一个从站点中抓取信息的python代码,但我必须首先去掉一些cookies弹出窗口。要单击右侧按钮,我需要它们的XPath(据我所知)。问题是XPath的一部分每次都发生变化,我不知道如何找到它们,因为它们实际上没有任何属性,比如ID之类的。

这是按钮的HTML:

<button class="Button__StyledButton-a1qza5-0 lcqSKB" style="visibility: visible; background-color: rgb(12, 44, 91);">Lees meer om voorkeuren te accepteren</button>

这是我现在使用的命令:

driver.find_element_by_xpath('/html/body/div[14]/div[1]/div[3]/button').click()

这是XPath:

/html/body/div[VARIABLE]/div[1]/div[3]/button

变量每次都变,所以我改变了14。


共1个答案

匿名用户

如果您像现在这样使用完整的xPath,就会一直遇到类似的问题。更好的方法是找出另一种/更短的方法来获得该元素。

没有URL很难进行测试,但可以尝试以下方法之一:

driver.find_element_by_css_selector("Button__StyledButton-a1qza5-0.lcqSKB")
driver.find_element_by_css_selector("Button__StyledButton-a1qza5-0")