点击Google结果建议

时间:2013-12-18 16:53:31

标签: java selenium selenium-webdriver

仅出于学习目的,我试图点击Google结果建议的第三个元素

Clicking on Google Suggestions

在上图中,我想点击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没有点击它。如果上述代码中有任何错误或建议我替代解决方案,请告诉我

2 个答案:

答案 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标记。