Selenium:如何使用Javascript将密钥发送到JQuery输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium:如何使用Javascript将密钥发送到JQuery输入相关的知识,希望对你有一定的参考价值。

我没有成功将密钥发送到JQuery输入。我正在尝试在这个网站上自动登录,他们的登录是一个Prettyphoto JQuery灯箱弹出窗口。我没有尝试过任何工作。

这是我的代码:

driver.findElement(By.xpath("//*[@id="pp_full_res"]/div/form/p[1]/input")).sendKeys("username");
driver.findElement(By.xpath("//*[@id="pp_full_res"]/div/form/p[2]/input")).sendKeys("password");
driver.findElement(By.xpath("//*[@id="prettyPhotoLogin"]")).click();

我试过但还是没用的其他东西是:

javascriptExecutor executor = ((JavascriptExecutor) driver);
executor.executeScript("document.getElementsByName('username').value='username'");

页面是http://www.besthorrormovielist.com/,登录链接位于页脚。

编辑:我可以点击页脚上的登录链接并打开登录JQuery弹出窗口,但Selenium没有在JQuery弹出窗口中看到用户名和密码输入字段。

任何帮助是极大的赞赏。

答案

Login打开页面时,Viewport链接位于页脚上,不在Selenium内。我们需要将WebElement中的预期Viewport与它进行交互,单击元素打开Login形式,然后尝试调用sendKeys("username")方法如下:

WebElement myelement = driver.findElement(By.xpath("//div[@id='footerbottom']//a[@href='#loginform']"));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView()", myelement); 
myelement.click();

以上是关于Selenium:如何使用Javascript将密钥发送到JQuery输入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 selenium 中使用无头 Chrome 启用 JavaScript

如何在 Selenium WebDriver Java 中使用 JavaScript

您如何使用 Selenium 在框架内执行 javascript?

如何使用 selenium 将 javascript 文件加载到 DOM 中?

如何使用 JavaScript 处理弹出警报? Selenium 网络驱动程序

Selenium:如何点击javascript按钮