【发布时间】:2017-09-25 02:45:34
【问题描述】:
我是硒新手。
下面的代码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
【问题讨论】:
-
你可能需要 By.id("email"),我猜 driver.findElement(By.name("email")) 返回的 WebElement 是未定义的
-
它也不适用于 id。抛出同样的错误。
-
我认为这两种方法都应该可行,我猜 Dev 的回答(Gecko 驱动程序)会解决你的问题。
-
@bert 我同意,两者都应该工作,但我总是尝试提供 OP 代码中所需的最小调整以使他/她的代码工作:)
标签: java selenium firefox selenium-webdriver geckodriver