Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;使用WebDriver Driver=new Chrome()并使用selenium脚本最大化Chrome浏览器窗口的java.lang.NullPointerException_Selenium_Google Chrome_Selenium Webdriver_Webdriver_Selenium Chromedriver - Fatal编程技术网

“线程中的异常”;“主要”;使用WebDriver Driver=new Chrome()并使用selenium脚本最大化Chrome浏览器窗口的java.lang.NullPointerException

“线程中的异常”;“主要”;使用WebDriver Driver=new Chrome()并使用selenium脚本最大化Chrome浏览器窗口的java.lang.NullPointerException,selenium,google-chrome,selenium-webdriver,webdriver,selenium-chromedriver,Selenium,Google Chrome,Selenium Webdriver,Webdriver,Selenium Chromedriver,如何使用selenium脚本最大化Chrome浏览器窗口? 这是我的代码: package newpackage; import org.openqa.selenium.WebDriver; public class MyClass { public static void main(String[] args) { WebDriver Driver=new Chrome(); Driver.get("http://www.google.com"); Driver

如何使用selenium脚本最大化Chrome浏览器窗口? 这是我的代码:

package newpackage;

import org.openqa.selenium.WebDriver;

public class MyClass {
    public static void main(String[] args) {

 WebDriver Driver=new Chrome();
    Driver.get("http://www.google.com");
    Driver.manage().window().maximize();

}
}
但是,我得到了这个错误:

Exception in thread "main" java.lang.NullPointerException
    at newpackage.MyClass.main(MyClass.java:10)

要使用Selenium 3.4.0,您需要从下载最新的chromedriver 2.29,并将您的Google Chrome更新至最新版本58.x。将chromedriver保存在系统中,并通过
system.setProperty
在代码中提供绝对路径,如下所示

现在,初始化ChromeDriver和Chrome浏览器的构造函数如下:

public static void main(String[] args) 
{
    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    WebDriver driver = new ChromeDriver(options);
    driver.navigate().to("https://google.com");
    //do your actions
    driver.quit();
}
  • WebDriver=new ChromeDriver()
  • WebDriver=newchromedriver(选项)
注意:该方法是
ChromeDriver()
,但不是
Chrome()
,这导致了java.lang.NullPointerException

最后,要使用selenium脚本最大化Chrome浏览器窗口,您需要借助
ChromeOptions
类,如下所示:

public static void main(String[] args) 
{
    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    WebDriver driver = new ChromeDriver(options);
    driver.navigate().to("https://google.com");
    //do your actions
    driver.quit();
}

在您编写的脚本中,驱动程序对象为空。尝试使用Chromedriver正确实例化驱动程序

System.setProperty("webdriver.chrome.driver", "c:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Driver.get("http://www.google.com");
Driver.manage().window().maximize();
使用driver.manage().window().fullscreen();反而


它应该会起作用。

欢迎给出简短的答案,但是对于那些试图了解问题背后的原因的用户来说,它不会提供太多价值。请抽出一些时间解释导致问题的真正问题是什么以及如何解决。谢谢~你完全正确。但老实说,我只是个学习者。直到现在,我的生活中从未编码或自动化过任何东西。只是做了大量的研究和实践来开始自动化工作。我会记住你的建议,试着找出东西不起作用的原因,而不是寻找另一种方法,谢谢。