我正在使用 Selenium 构建一个网站抓取工具,我想“单击”下图中突出显示的 div。
我当前的代码(可以工作,但描述性不强)是:
button = driver.find_element_by_xpath("//div/div/div/div/div/div/div/div[5]/div[8]")
button.click()
我很高兴它能工作,但感觉很脆弱,因为我纯粹通过索引访问 div,没有任何其他识别功能。有没有办法,至少对于最后一个 div,我可以通过跨度内的文本指定我的选择?选择包含带有文本“Grandmaster”的跨度的 div 的语法是什么?
值得注意的是,这是任何“过滤器组”中唯一包含文本“Grandmaster”的 div。有没有办法专门选择这个 div,而不列出所有嵌套的 div(就像我在上面的代码中所做的那样)?
任何有关如何使 XML 路径的代码更加健壮的想法将不胜感激。
最佳答案
What would the syntax be for choosing the div that contains a span with the text "Grandmaster"?
语法是:
driver.find_element_by_xpath("//*[contains(text(), 'Grandmaster')]")
关于python - 如何为我的 Selenium 网页抓取找到更具描述性的 XML 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51118079/