Selenium 脚本不工作异常

Posted

技术标签:

【中文标题】Selenium 脚本不工作异常【英文标题】:Selenium script not working Exception 【发布时间】:2018-10-03 04:02:41 【问题描述】:

我是 selenium 的初学者,需要一些关于下面脚本的帮助,我正在尝试发送 value vai 文本字段。 下面是代码sn-p。

import org.openqa.selenium.By;
import org.openqa.selenium.javascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class login 
    static
    
        System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe");
    

    public static void main(String[] args) 
    
        WebDriver driver=new ChromeDriver();
        driver.get("https://XXXXX.XXXXXX.com/authentication/login");

        driver.findElement(By.name("login")).sendKeys("ravi");

    


显示错误

线程“main”中的异常 java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置;有关详细信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新版本可从http://chromedriver.storage.googleapis.com/index.html下载 在 com.google.common.base.Preconditions.checkState(Preconditions.java:754) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124) 在 org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32) 在 org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339) 在 org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123) 在 login.main(login.java:14)

【问题讨论】:

java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property的可能重复 【参考方案1】:

试试这个代码:

public class login 

public static void main(String[] args) 
 System.setProperty("webdriver.chrome.driver","Path/to/your/chromedriver.exe");
 WebDriver driver=new ChromeDriver();
 WebDriver wait = new WebDriverWait(driver,30); 
 driver.get("https://XXXXX.XXXXXX.com/authentication/login");
 wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.name("login"))));
 driver.findElement(By.name("login")).sendKeys("ravi");  

【讨论】:

感谢您的帮助 我认为 ChromeDriver 和 chrome 浏览器和 selenium 版本之间存在一些版本兼容性问题,所以你能告诉我哪些版本的 chrome 浏览器和 chromedriver 和 selenium 工作正常吗?我正在使用窗口 10跨度> Selenium 3.11.0 和 chrome 驱动程序版本:2.36 和 chrome 浏览器版本 67.0 我使用的是 Win 7 Pro

以上是关于Selenium 脚本不工作异常的主要内容,如果未能解决你的问题,请参考以下文章

Python Selenium之异常处理

Selenium入门19 捕获异常

Selenium Python - 处理没有这样的元素异常

Selenium 异常:“不在函数中返回”

Selenium 脚本从控制台工作,不能在 CRON 中工作 - Geckodriver 错误

使用appium在android浏览器上运行selenium webdriver脚本,在模拟器上启动浏览器但抛出chromedriver异常