如何使用selenium和java获取谷歌搜索结果链接



我试图获得每个搜索结果的链接(最好是url、标题和描述((没有网站链接、视频、子元素等(,但由于谷歌页面元素和属性的动态特性,没有成功。

这是我设法得到的最接近的:

driver.get(https://www.google.com/search?q=selenium);
List<WebElement> elements = driver.findElement(By.id("rso")).findElements(By.xpath("//div[@class='g']"));
for(WebElement element: elements){
System.out.println(element.getText()); //getText() is used here for demonstration purposes                
}

我认为关键部分是xpath语法,因此可以随意发布其他编程语言的解决方案。提前谢谢。

请在搜索页面上的元素之前添加显式等待,因为正如您所看到的,浏览器没有捕获到所有元素。例如,如果元素是可见的,它会减少等待

WebElement explicitWait = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("element-locator-id")));

最新更新