测试积点老人 发表于 2020-3-26 10:53:00

在UI自动化测试过程中,启动浏览器报错

在UI自动化测试过程中,启动浏览器报错
报错信息:Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'

海海豚 发表于 2020-3-27 09:24:03

因为chromedriver版本太旧了

bellas 发表于 2020-3-27 09:32:27

浏览器的版本有关

abcsell 发表于 2020-3-27 09:34:53

缺少值

qqq911 发表于 2020-3-27 10:56:10

检查下代码

jingzizx 发表于 2020-3-27 12:26:05

版本是否一致

旺达 发表于 2020-5-21 17:09:17

  现在很多网页内容都是动态生成的,动态页面信息的提取可以使用selenium。提取动态页面信息的
  其中一种方法就是启动浏览器执行js代码,那么第一步就是要先启动浏览器。
  下面上代码:
  import org.openqa.selenium.WebDriver;
  import org.openqa.selenium.chrome.ChromeDriver;
  public class ChromeTest{
  public static void main(String[] args) {
  System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver_win32\\chromedriver.exe");
  //新建一个WebDriver 的对象,但是new 的是chrome的驱动
  WebDriver driver =new ChromeDriver();
  //打开指定的网站
  driver.get("http://www.baidu.com");
  System.out.println(driver.getTitle());
  /**
  * dr.quit()和dr.close()都可以退出浏览器,简单的说一下两者的区别:第一个close,
  * 如果打开了多个页面是关不干净的,它只关闭当前的一个页面。第二个quit,
  * 是退出了所有Webdriver所有的窗口,退的非常干净,所以推荐使用quit最为一个case退出的方法。
  */
  driver.quit();//退出浏览器
  }
  }
  运行结果如下图:

  以上结果没有输出“百度一下,你就知道”,因此出现错误。此错误让我纠结了很长时间,最终终于解决。

旺达 发表于 2020-5-21 17:17:50

大家仔细看的话,可以看到上图中所报出的一个warning:The server did not provide any stacktrace information
其实,在这里代码是没有错的,造成错误的原因是我用的chromedriver版本与chrome浏览器的版本不对应。
然后我下载了一款对应我chrome浏览器版本的chromedriver,再次运行代码结果如下:
这样就OK了。
页: [1]
查看完整版本: 在UI自动化测试过程中,启动浏览器报错