当前位置: 首页 > 知识库问答 >
问题:

为什么chrome驱动程序不能在@Before中工作?

何高歌
2023-03-14

我有一个简单的代码

  public class PageAvailable {
            @Test
            public void test() {
                System.setProperty("webdriver.chrome.driver", "C:/Users/JARs/chromedriver_win32/chromedriver.exe");
                WebDriver driver = new ChromeDriver();
                driver.get("https://....net");
                System.out.println(driver.getTitle());
                driver.close();
            }}
public class PageAvailable {
WebDriver driver = new ChromeDriver();
@Before
public void be(){
    System.setProperty("webdriver.chrome.driver", "C:/Users/JARs/chromedriver_win32/chromedriver.exe");
    driver.get("....net");

}
@Test
public void test() {
    driver.get("https://...net");
    System.out.println(driver.getTitle());
}
@After
public void af(){
driver.close();
}}  

我觉得我身边少了点什么。
谢谢你的帮助。

共有1个答案

东方和志
2023-03-14

WebDriver对象初始化应在设置“WebDriver.Chrome.Driver”属性后进行。

public class PageAvailable {
WebDriver driver;
@Before
public void be(){

//Set Chromedriver Path
System.setProperty("webdriver.chrome.driver","C:/Users/JARs/chromedriver_win32/chromedriver.exe");

// initialize ChromeDriver instance with the chromdriver exe as set in above line.
driver = new ChromeDriver();

driver.get("....net");

}
@Test
public void test() {
 //Load your URL
driver.get("https://...net");
System.out.println(driver.getTitle());
}
@After
public void af(){
driver.close();
}}  

您可以使用的其他选项是,在环境变量set chromedriver.exe path中,在这种情况下不需要设置system属性。

 类似资料:
  • 问题内容: 我在将Chrome驱动程序用于Selenium时遇到问题。我已下载chromedriver,并将其保存到C:\ Chrome: 使用它给我以下错误: 任何帮助,将不胜感激。 问题答案: 您应该指定可执行文件路径,而不是包含可执行文件的目录路径。

  • 我是一个新的Appium和尝试的android设备,所以在编写代码时,我想使用android驱动程序,但每次出现错误,请检查下面的错误 “线程”main“org.openqa.selenium.WebDriverException中出现异常:返回的值无法转换为WebElement:{element=1}生成信息:版本:”3.4.0“,修订:”unknown“,时间:”unknown“系统信息:主机

  • 搜索上下文是selenium中最超级的接口,它由另一个称为网络驱动程序的接口扩展。 -所有搜索上下文和Web驱动程序接口的抽象方法都在远程WebDriver类中实现。 -所有与浏览器相关的类,如Firefox驱动程序、Chrome驱动程序等,都扩展了远程Webdriver类。 根据上面的stmt,远程web驱动程序类如何为搜索上下文接口和web驱动程序接口中定义的所有抽象方法给出定义。因为功能驱动

  • 我正在尝试使用Selenium web驱动程序。我正在使用asp。net mvc。我已经设置了一个非常基本的测试。我基本上只是想打开浏览器。 但当我运行测试我得到这个错误消息 结果消息: 文件c:\chromedriver.exe\chromedriver.exe不存在。驱动程序可以在http://chromedriver.storage.googleapis.com/index.html下载 我

  • 我正在使用Selenium WebDrive,在Chrome浏览器中使用C#进行自动化。我需要检查我的网页是否被阻挡在某些地区(一些ip范围)。所以我必须在我的Chrome浏览器中设置一个代理。我尝试了下面的代码。代理正在设置,但我得到一个错误。有人能帮我吗? 运行此代码时,我在Chrome浏览器中收到以下消息:我试图启用代理选项,但“更改代理设置”选项被禁用。 *无法连接到代理服务器 代理服务器

  • 问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb