selenium Selify|影子根|元素输入不能通过键盘访问

kx7yvsdv  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(132)

对于Selens4.1.2/Java 11和一个带有“影子根”元素的页面,我在处理特定的输入文本元素时遇到了问题。
使用此代码,我到达了输入元素,curor闪烁,但没有写入sendKeys字:

Thread.sleep(2000);
WebElement inputFIELD = (WebElement) ((JavascriptExecutor)driver).executeScript("return document.querySelector('#TextFieldTEXTFIELD').shadowRoot.querySelector('#vaadin-text-field-input-3 > slot:nth-child(2) > input')");
inputFIELD.sendKeys("test");

终端中的例外情况是:

Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: Element <input> is not reachable by keyboard

到目前为止,我还没有找到解决这个问题的办法。有什么主意吗?
我觉得奇怪的是,光标找到了它的元素,但没有写出来。

wljmcqd8

wljmcqd81#

您也可以使用JavascriptExecutor来设置这些值。

//inputFIELD.sendKeys("test");
((JavascriptExecutor)driver).executeScript("arguments[0].setAttribute('value', 'test')", inputButton);

或者使用操作链:

new Actions(driver).moveToElement(inputButton).sendKeys("test").build().perform();

相关问题