Java org.openqa.selenium.InvalidArgumentException:预期[object Undefined]Undefined是selenium中的字符串

Java org.openqa.selenium.InvalidArgumentException:预期[object Undefined]Undefined是selenium中的字符串,java,selenium,firefox,selenium-webdriver,geckodriver,Java,Selenium,Firefox,Selenium Webdriver,Geckodriver,我是硒的新手 在下面的代码中,firefox正在启动,但我无法在文本框中输入任何内容 package webdrivers; import java.sql.Driver; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; impo

我是硒的新手

在下面的代码中,firefox正在启动,但我无法在文本框中输入任何内容

package webdrivers;

import java.sql.Driver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.server.handler.SendKeys;

public class Automation 
{
    public static void main(String[] args) 
    {
       WebDriver driver = new FirefoxDriver();
       driver.get("https://www.facebook.com/");
       driver.findElement(By.name("email")).sendKeys("your_username");   
    }
}
错误是:-

Exception in thread "main" org.openqa.selenium.InvalidArgumentException: Expected [object Undefined] undefined to be a string Build info: version: 'unknown', revision: '5234b32', time: '2017-03-10 09:00:17 -0800' System info: host: 'RAHUL', ip: '192.168.1.109', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_121' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{moz:profile=C:\Users\lenovo\AppData\Local\Temp\rust_mozprofile.cduJLZVQoFth, rotatable=false, timeouts={implicit=0, pageLoad=300000, script=30000}, pageLoadStrategy=normal, platform=ANY, specificationLevel=0, moz:accessibilityChecks=false, acceptInsecureCerts=false, browserVersion=53.0, platformVersion=6.3, moz:processID=6184, browserName=firefox, platformName=windows_nt}] Session ID: 452dde13-0981-4d4d-bb9a-beb6739485d5

要使用Selenium 3.4.0,您需要从下载gecko驱动程序v0.16.0或更高版本并保存它。将Mozila Firefox升级到53.x

接下来,您需要在代码中提供gecko驱动程序的绝对路径。您的代码如下所示:

    System.setProperty("webdriver.gecko.driver",  "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    FirefoxDriver driver =  new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get("https://www.facebook.com/");
    driver.findElement(By.name("email")).sendKeys("your_username");

如果这对您有帮助,请告诉我。

要使用Selenium 3.4.0,您需要从下载gecko驱动程序v0.16.0或更高版本并保存它。将Mozila Firefox升级到53.x

接下来,您需要在代码中提供gecko驱动程序的绝对路径。您的代码如下所示:

    System.setProperty("webdriver.gecko.driver",  "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    FirefoxDriver driver =  new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get("https://www.facebook.com/");
    driver.findElement(By.name("email")).sendKeys("your_username");

如果这对您有帮助,请告诉我。

试试这个方法。.从这个网站下载gecko_驱动程序

注意:-如果您使用的是最新的
gecko驱动程序版本(v0.16.0),请确保您的
firefox
浏览器更新为最新版本(V53)

同时更新selenium jar文件。您可以从这里下载selenium最新的jar文件


试试这个方法。从这个网站下载gecko_驱动程序

注意:-如果您使用的是最新的
gecko驱动程序版本(v0.16.0),请确保您的
firefox
浏览器更新为最新版本(V53)

同时更新selenium jar文件。您可以从这里下载selenium最新的jar文件


这是geckodriver的一个持续问题:


如果您仍然想使用firefox:您可以将firefox降级到v52,然后与geckodriver v0.15一起使用,您将可以正常工作。

这是geckodriver的一个持续问题:



如果您仍然想使用firefox:您可以将firefox降级到v52,然后再与geckodriver v0.15一起使用,您就可以正常工作。

您可能需要By.id(“email”),我猜driver.findelelement(By.name(“email”)返回的WebElement是未定义的。id也不能使用。抛出相同的错误。我认为这两种方法都应该有效,我想Dev的答案(Gecko driver)会解决您的问题。@bert我同意,这两种方法都应该有效,但我总是尝试在OP的代码中提供使其代码有效所需的最小调整:)您可能需要By.id(“电子邮件”),我猜driver.findElement(By.name(“电子邮件”)返回的WebElement是undefinedIt,它也不能使用id。抛出相同的错误。我认为这两种方法都应该有效,我想Dev的答案(Gecko驱动程序)会解决您的问题。@bert我同意,这两种方法都应该有效,但我始终尝试在OP的代码中提供使其代码有效所需的最小调整:)1493291531075加载项。管理器错误启动失败:[异常…”组件返回失败代码:0x80070057(NS_错误非法值)[nsfile.create]“nsresult:”0x80070057(NS_错误非法值)”位置:“JS帧::resource://gre/modules/FileUtils.jsm ::FileUtils_getDir::第70行“数据:否]StackJ traavcaeS:c rFiiplte Uetrirlosr_g:erteDsioru(r)c@er:e/s/ogurrec/em:o/d/greu/modluelse/sA/dfdionnemutanialgse.rj.sjms:m7,0 lThats因为您的Mozilla Firefox配置文件中有多个加载项。您有两个选项,最简单的是删除加载项并重新测试。否则您必须创建新的Firefox配置文件。1493291531075加载项。manager错误启动失败:[异常。。。“组件返回的故障代码:0x80070057(NS错误非法值)[nsfile.create]”nsresult:“0x80070057(NS错误非法值)”位置:“JS帧::resource://gre/modules/FileUtils.jsm ::FileUtils_getDir::第70行“数据:否]StackJ traavcaeS:c rFiiplte Uetrirlosr_g:erteDsioru(r)c@er:e/s/ogurrec/em:o/d/greu/modluelse/sA/dfdionnemutanialgse.rj.sjms:m7,0 lThats因为您的Mozilla Firefox配置文件中有多个加载项。您有两个选项,最简单的一个是删除加载项并重新测试。否则您必须创建一个新的Firefox配置文件。1493291531075加载项。manager错误启动失败:[异常…“组件返回的故障代码:0x80070057(NS错误非法值)[nsfile.create]“nsresult:”0x80070057(NS错误非法值)”位置:“JS帧::resource://gre/modules/FileUtils.jsm ::FileUtils_getDir::第70行“数据:否]StackJ traavcaeS:c rFiiplte Uetrirlosr_g:erteDsioru(r)c@er:e/s/ogurrec/em:o/d/greu/modluelse/sA/dfdionnemutanialgse.rj.sjms:m7,0 l是否已正确替换
gecko_驱动程序
path?打包webdrivers;公共类自动化{public static void main(String[]args){System.setProperty(“webdriver.gecko.driver”,“C:\\Program Files\\gecko driver\\gecko\\gecko-v0.16.1-win64\\geckodriver.exe”);WebDriver driver=new FirefoxDriver();driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);driver.get(“);driver.findElement(By.id(“email”).sendKeys(“您的用户名”);}}}是我做的,但不起作用。!!
driver.findElement(By.xpath(//input[@type='email']).sendKeys(“用户名”);
从脚本中更新以上代码行,然后检查。您的firefox浏览器版本?是否安装了最新的selenium jar文件(3.4.0)?149291531075加载项。管理器错误启动失败:[异常…”组件返回故障代码:0x80070057(NS_错误\u非法值)[nsfile.create]“nsresult:”0x80070057(NS\u错误\u非法\u值)“位置:”JS帧::resource://gre/modules/FileUtils.jsm ::FileUtils_getDir::第70行“数据:否]StackJ traavcaeS:c rFiiplte Uetrirlosr_g:erteDsioru(r)c@er:e/s/ogurrec/em:o/d/greu/modluelse/sA/dfdionnemutanialgse.rj.sjms:m7,0 l是否已正确替换
gecko_驱动程序
path?打包webdrivers;公共类自动化{public static void main(String[]args){System.setProperty(“webdriver.gecko.driver”,“C:\\Program Files\\gecko driver\\gecko\\gecko-v0.16.1-win64\\geckodriver.exe”);WebDriver driver=new FirefoxDriver();driver.manage().window().maximize();driver.manage().timeout().implicitlyWait(20