我尝试使用SeleniumJava将一个值绑定到一个输入元素,但我不断收到错误
元素不可交互异常:键盘无法访问元素
我已经尝试了这篇Stack Overflow文章中建议的解决方案:org.openqa.selenium.ElementNotInteractableException: Element is not reachable by keyboard: while sending text to FirstName field in Facebook,但我仍然遇到相同的错误。
任何人都可以请建议任何其他解决方案或潜在的原因,这个错误?
WebElement emailAddyField = driver.findElement(By.id("email"));
emailAddyField.sendKeys(username);
--
<div class="field-two-input-wrapper flex flex-nowrap flex-align-items-stretch flex-item-fluid relative">
<div class="flex flex-item-fluid">
<input autocomplete="off" autocapitalize="none" autocorrect="off" spellcheck="false" aria-invalid="false"
id="email" aria-describedby="id-2" class="field-two-input w100 email-input-field" value="">
</div>
<div class="field-two-input-adornment mr0-5 flex flex-align-items-center flex-item-noshrink flex-nowrap flex-gap-0-5">
<button type="button" aria-expanded="false" aria-live="assertive" aria-atomic="true" aria-invalid="false"
class="outline-none w100 flex flex-justify-space-between flex-align-items-center flex-nowrap no-pointer-events-children"
aria-label="proton.me" id="select-domain">
<span class="flex-item-fluid text-ellipsis text-left">@proton.me</span>
<svg viewBox="0 0 16 16" class="icon-16p flex-item-noshrink ml0-5" role="img" focusable="false"
aria-hidden="true">
<use xlink:href="#ic-chevron-down-filled"></use>
</svg>
</button>
</div>
</div>
谢谢大家。
2条答案
按热度按时间db2dz4w81#
通常情况下,如果你可以看到控件实际上是可交互的,但你的定位器无法在
DOM
中找到正确的元素,那么你应该在你之前尝试过的 Package 元素周围单击。由于
input
周围只有一个 Package 元素,它与其他input
不相关,因此我建议使用以下方法:oknwwptz2#
终于找到解决方案了。一开始我没有注意到,但是
<div>
在iframe里面。下面的代码解决了这个问题。