搜索特定关键字后如何获取网页链接?

时间:2019-05-23 06:17:05

标签: selenium-webdriver

我正在使用Java使用Selenium Web驱动程序。

我尝试过的事情:

  1. 获取Google链接
  2. 搜索关键字“硒”
  3. 单击每个结果,然后在新标签页中打开每个链接。

我试图获取所有链接,但是我得到了所有不需要的链接。我只需要获取结果链接。

1 个答案:

答案 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();