首页 > 解决方案 > 将驱动程序参数传递给 main 之外的方法

问题描述

我试图在我的主要方法之外传递一个 WebDriver 对象,但它没有被解析为一个变量。我正在尝试将“驱动程序 a”参数传递给方法 NavigateGoogle。这不是使用 Selenium 的常用方法,但我是新的,它一直在吃我。下面的代码,有什么建议吗?

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;

    }

}

标签: seleniumselenium-webdriver

解决方案


我认为您的意思是制作方法签名:

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();
}

推荐阅读