参数列表之后缺少Selenium WebDriverException

时间:2017-06-20 13:19:41

标签: selenium

js.executeScript("document.querySelector('input[name='password']');");

此行在线程中抛出以下异常:

  

"主"参数列表

之后的org.openqa.selenium.WebDriverException:missing)

3 个答案:

答案 0 :(得分:1)

请尝试以下代码。

js.executeScript("document.querySelector('input[name=\'password\']')");

答案 1 :(得分:0)

尝试

js.executeScript("document.querySelector('input[name='password']')");

如果这回答你的问题,请告诉我。

答案 2 :(得分:0)

您可以尝试以下其中一项

js.executeScript("document.querySelector(\'input[name=\'password\']\');");
js.executeScript("document.querySelector(\"input[name='password']\");");

虽然在您的评论中添加了这一行

js.executeScript("document.querySelector('input[name=\'pas‌​‌​sword\']').value='ga‌​‌​mb'");

哪个不会起作用,因为如果你看一下.value,你也需要超越你的.value设置。

鉴于我无权访问您的网站或您的代码,我建议您进行测试以确保您的javascript对您的网页有效。一种方法是使用javascript本身(所有内容都包含.executeScript)并通过浏览器开发工具控制台或脚本执行窗口运行它。

如果使用浏览器开发工具设置值,那么很好...问题是selenium。如果没有使用浏览器开发工具设置该值...您需要重构您的javascript,因为问题很可能不是selenium,而是您的JS选择器。

尽管如此,您的评论中的以下内容有效...您可能不需要通过javascript执行它。

driver.findElement(By.cssSelector("input[name='password']"‌​‌​)).sendKeys("gamb"‌​);