向 Facebook 中的“名字”字段发送文本时,可能会出现“键盘无法访问元素”的错误消息。
发生此错误的原因以下面的组成部分之一:
隐藏元素:
使用 JavaScript 更改元素的显示style:
((JavascriptExecutor) driver).executeScript("arguments[0].style.display='block';", element);
叠加:
使用 JavaScript 将键发送到目标元素:
String inputText = "Testing it"; WebElement myElement = driver.findElement(By.id("u_0_b")); String js = "arguments[0].setAttribute('value','" + inputText + "')"; ((JavascriptExecutor) driver).executeScript(js, myElement);
不正确的元素标识:
确保代码选择正确的输入字段元素。使用动态定位器策略来处理不断变化的元素标识符。
在 Facebook 的情况下,使用通过名称和类定位输入字段的 xpath 定位器:
driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it");
Firefox 提供了一种名为 moz:webdriverClick 的功能来暂时禁用交互式检查。但是,此功能将在未来版本中删除:
FirefoxOptions options = new FirefoxOptions(); options.setCapability("moz:webdriverClick", false);
以上是为什么我的自动化脚本无法到达 Facebook 的'FirstName”字段?的详细内容。更多信息请关注PHP中文网其他相关文章!