我正在尝试将WebDriver对象传递到我的主方法之外,但是没有将其解析为变量。 我正在尝试将“ driver a”参数传递给方法NavigateGoogle。使用硒不是一种常见的方式,但是它是新事物,它一直困扰着我。下面的代码,有什么建议吗?
package day2;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverDemo {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
System.setProperty("webdriver.chrome.driver","C:\\Users\\Abu\\Desktop\\Web Drivers\\chromedriver.exe");
}
public boolean NavigateGoogle(driver a) {
//'Driver a' parameter cannot be resolved to a type
a.get("http://www.google.com");
return true;
}
}
答案 0 :(得分:1)
我认为您是要对方法签名:
public boolean NavigateToGoogle(WebDriver a) {
a.get("http://www.google.com");
return true;
}
WebDriver
是一种类型,但driver
不是。您之前声明了WebDriver driver
,所以方法签名参数应该匹配。
此外,您在尝试初始化chromedriver.exe
之后设置WebDriver
路径,这是错误的。声明应翻转:
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\Abu\\Desktop\\Web Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
}
答案 1 :(得分:0)
据我所知,您要寻找的是通过NavigateGoogle(driver a)
方法传递驱动程序,如果这正是您要寻找的,那么下面的解决方案有望对您有所帮助。...
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\Abu\\Desktop\\Web Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
NavigateGoogle(driver);
}
在上面的代码中,设置了系统路径,并将WebDriver的一个实例定义为“驱动程序”。下一行代码驱动程序传递给函数NavigateGoogle(driver)
public boolean NavigateGoogle(WebDriver driver) {
a.get("http://www.google.com");
return true;
}
上面的代码是定义为传递驱动程序的函数。
WebDriver driver = new ChromeDriver(); //"driver" is just a instance of WebDriver
WebDriver a = new ChromeDriver(); //"a" is just a instance of WebDriver
遵循一个自我解释的实例总是好的。