我正在使用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的语法是什么?
值得注意的是,这是任何“ filter-group”中唯一包含文本“ Grandmaster”的div。有没有一种方法可以专门选择此div,而无需列出所有嵌套的div(就像我在上面的代码中所做的那样)?
任何其他使XML路径的代码更健壮的想法都将受到赞赏。
答案 0 :(得分:2)
选择包含跨度为“ Grandmaster”文本的div的语法是什么?
语法为:
driver.find_element_by_xpath("//*[contains(text(), 'Grandmaster')]")
答案 1 :(得分:1)
选择包含跨度的div的语法是什么 文字“大师”?
您可以使用以下/**
* Returns a power of two size for the given target capacity.
*/
static final int tableSizeFor(int cap) {
int n = cap - 1;
n |= n >>> 1;
n |= n >>> 2;
n |= n >>> 4;
n |= n >>> 8;
n |= n >>> 16;
return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
}
:
xPath
您可以获得here的更多信息。