我正在使用Java使用Selenium Web驱动程序。
我尝试过的事情:
我试图获取所有链接,但是我得到了所有不需要的链接。我只需要获取结果链接。
答案 0 :(得分:0)
相关的XPath query仅过滤“有趣的”链接(最终没有Google Translate的建议)就像
//div[@class='r']/a[not(@class='fl')]
将链接提取到集合中后,您可以使用window.open()函数在新标签页中打开每个建议:
driver.executeScript("window.open(\"" + link.getAttribute("href") + "\");")
完整代码以防万一:
ChromeDriver driver = new ChromeDriver();
driver.get("http://google.com");
WebElement searchInput = driver.findElement(By.xpath("//input[@name='q']"));
searchInput.clear();
searchInput.sendKeys("Selenium 3");
searchInput.submit();
List<WebElement> links = driver.findElements(By.xpath("//div[@class='r']/a[not(@class='fl')]"));
links.forEach(link -> driver.executeScript("window.open(\"" + link.getAttribute("href") + "\");"));
driver.quit();