java - 当元素在页面中实际可见时,selenium 抛出元素不可见异常错误

标签 java selenium selenium-webdriver paypal webdriver

我正在尝试使用给定的 url 登录沙盒 Paypal 应用程序,但是,当尝试使用以下代码在页面中查找电子邮件 ID 和密码字段时,它会抛出元素不可见异常错误。

重现问题的代码

driver.get("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-7NA824468C3295748#/checkout/login");
Thread.sleep(20000);
driver.findElement(By.cssSelector("input[id='email']")).sendKeys("shariftest@gmail.com");
driver.findElement(By.cssSelector("input[id='password']")).sendKeys("test@1234");
driver.findElement(By.id("btnLogin")).click();
Thread.sleep(6000);

奇怪的是,这些元素定位器绝对正确并且在页面中可见,但在尝试使用 selenium 查找元素时仍然会抛出错误。

请尝试上面的代码重现问题。

最佳答案

我查看了源 html,两个输入字段都有 display: none 作为样式。这就是为什么您不能向他们发送 key 。

<input id="email" name="login_email" type="email" value="" autocomplete="off" placeholder="Email" style="display:none">

您可以使用 JavaScript 设置值,例如电子邮件字段:

driver.executeScript("arguments[0].value = 'you@yourprovider.nl'", driver.findElement(By.id("email")));

关于java - 当元素在页面中实际可见时,selenium 抛出元素不可见异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638155/

相关文章:

python - 在 Ubuntu 上导入 selenium 时出错

java - 如何在基类中包含属性文件然后调用其他类?

java - 如何提取 XPath 指向的所有值?

java - 使用 <t :inputFileUpload> 时出现问题

java - 当我尝试执行 selendroid 命令时出错

python - 如何在 ubuntu 16.04 上为 python3 selenium 安装 firefoxdriver webdriver?

java - Selenium and Firefox 9's "Will you help improve Mozilla Firefox"popup

javascript - e2e 测试 : Headless mode test passes, 常规模式失败

java - 如何抑制 Maven "Unable to find resource"消息?

java - REST API 仅允许资源所有者访问 URL