使用 Selenium 4.1.2 / Java 11 和帶有“影子根”元素的頁面,我在處理特定輸入文本元素時遇到了問題。
使用此代碼,我到達輸入元素,游標閃爍但不寫 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
到目前為止,我還沒有找到解決方案。任何想法?
我覺得奇怪的是游標找到了它的元素但不寫。
uj5u.com熱心網友回復:
您也可以使用JavascriptExecutor來設定值。
//inputFIELD.sendKeys("test");
((JavascriptExecutor)driver).executeScript("arguments[0].setAttribute('value', 'test')", inputButton);
或使用動作鏈:
new Actions(driver).moveToElement(inputButton).sendKeys("test").build().perform();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/444342.html
