仅出于学习目的,我试图点击Google结果建议的第三个元素
在上图中,我想点击qubool hai。我的代码获取结果建议并单击第3个元素。
List<WebElement> resultsuggestion = driver.findElements(By.cssSelector(".gssb_m > tbody:nth-child(1) > tr"));
new Actions(driver).click(resultsuggestion.get(2));
但Selenium没有点击它。如果上述代码中有任何错误或建议我替代解决方案,请告诉我
答案 0 :(得分:1)
尝试将代码更改为:
WebElement result = driver.findElement(By.cssSelector(".gssb_m > tbody > tr:nth-child(3)"));
result.click();
通常使用:nth-child
来明确识别儿童。您似乎试图找到只有1 tbody
的倍数。
此外,当您使用Actions
方法时,使用WebElement#click
类进行简单点击是非常不必要的。
答案 1 :(得分:0)
以下是我发现的另一种方式:
WebElement result = driver.findElement(By.cssSelector(".gssb_m tr:nth-of-type(3)"));
result.click();
.gssb_m tr:nth-of-type(3)
:在class='gssb_m'
元素下,它会查找第三个tr
标记。