Selenium:如何使用Javascript向JQuery输入发送键

Selenium:如何使用Javascript向JQuery输入发送键,javascript,selenium,automated-tests,Javascript,Selenium,Automated Tests,我向JQuery输入发送密钥失败。我正在尝试在这个站点上自动登录,他们的登录是一个JQuery lightbox弹出窗口。我试过的都不管用 这是我的代码: 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

我向JQuery输入发送密钥失败。我正在尝试在这个站点上自动登录,他们的登录是一个JQuery lightbox弹出窗口。我试过的都不管用

这是我的代码:

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'");
该页面为,登录链接位于页脚上

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


非常感谢您的帮助

Selenium
打开页面时,
登录链接位于页脚上,不在页脚内。我们需要将所需的
WebElement
放在中与之交互,单击该元素打开
登录
表单,然后尝试调用
发送键(“用户名”)
方法,如下所示:

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

请阅读,特别是关于(MCVE)的部分,这将帮助您调试自己的程序并自行解决问题。如果您这样做了,但仍然卡住了,您可以回来发布您的MCVE,您尝试了什么,以及执行结果,包括任何错误消息,以便我们可以更好地帮助您。同时提供一个指向页面和/或相关HTML的链接。Hello DebajanB感谢您的回复,但上面的代码不起作用。我可以打开JQuery登录弹出窗口,但我无法在登录弹出窗口中发送用户名和密码输入的密钥。当我检查Selenium是否看到名称和密码输入字段时,我发现元素不可见。