Java 和 Selenium 显示 Google 搜索结果的最佳方式

标签 java selenium selenium-webdriver

我对 Selenium 和 Java 非常陌生,但我正在尝试制作一个简单的程序来加载 google,进行搜索,然后显示有多少结果以及加载 google 搜索所需的时间。我遇到了结果问题,并显示它

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

public class GoogleSearch {

public static void main(String[] args) {

    FirefoxDriver driver = new FirefoxDriver();
    driver.get("http://google.com");


    WebElement searchTextBox = driver.findElement(By.id("lst-ib"));
    searchTextBox.sendKeys("Colin");

    String pageUrl = driver.getCurrentUrl();
    System.out.println(pageUrl);

    WebElement searchButton = driver.findElement(By.className("lsb"));
    searchButton.click();

    String pageTitle = driver.getTitle();
    System.out.println("Page title is:" + pageTitle);


    WebDriverWait wait = new WebDriverWait(driver, 5);// 5 seconds 
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("resultsStats")));
    driver.findElement(By.id("resultsStats"));

    WebElement results = driver.findElement(By.id("resultsStats")); //displays # of results from search
        System.out.println(results);

    //driver.quit();


}
}

以下是我得到的结果:

https://www.google.com/?gws_rd=ssl
Page title is:Google
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"id","selector":"resultsStats"}
Command duration or timeout: 13 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'

最佳答案

这不是resultsStats,而是resultStats。进行相同的更改,然后就可以开始了!

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("resultStats")));
driver.findElement(By.id("resultStats"));

WebElement results = driver.findElement(By.id("resultStats")); //displays # of results from search

resultStats

关于Java 和 Selenium 显示 Google 搜索结果的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353153/

相关文章:

java - 如何通过 cli 运行 selenium webdriver 测试

selenium - 如何使用 selenium webdriver 在浏览器中处理地理位置弹出窗口?

java - 如何使用 Selenium 获取深度 div 标签内的文本

java - Android Studio 核心转储

java - 如何根据两个参数对对象列表进行排序以在 Java 中进行比较?

java - java同步缓存的批量操作

带有隐藏输入的 Selenium 文件选择器 [type=file]

java - 无法从 scoped_dir6312_32763/internal 加载扩展。管理员使用 ChromeDriver Selenium 禁用加载解压的扩展

java - Selenium 网络驱动程序 : Faster way to set values in many inputs

java - 通过 URL 读取 html 内容时特殊字符转义