FirefoxDriver driver = new FirefoxDriver(options);
driver.get("https://www.facebook.com/");
//driver.manage().window().maximize();
driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input")).sendKeys("Test Selenium");
这是我的编码。我收到了sendKeys()
的错误。
我正在使用:
我该怎么办?
答案 0 :(得分:2)
driver.findElements
返回List
WebElements
;您要做的是从该List
获取单个元素,然后然后在该元素上调用sendKeys
。您收到的错误是因为List<Element>
没有方法sendKeys(String)
。
例如:
FirefoxDriver driver = new FirefoxDriver(options);
driver.get("https://www.facebook.com/");
driver.findElements(By.xpath("/html/body/div[3]/div[2]/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div[1]/form/div[1]/div[1]/div[1]/div[1]/div/div[1]/input"))
.get(0)
.sendKeys("Test Selenium");
答案 1 :(得分:0)
我发现您使用driver.findelements
代替driver.findelement
。
使用后者,以便sendkeys
可以正常工作。希望我已经解决了你的问题。
答案 2 :(得分:0)
初始化WebElement的局部变量,然后variable.sendkeys(String)将正常工作。 例如:
driver.findElement(By.xpath("path").sendKeys(Keys.ENTER);
//here sendkeys will give error so, here is your answer:
WebElement var = driver.findElement(By.xpath("path"));
var.sendKeys(Keys.ENTER);
它应该可以正常工作。