gpt4 book ai didi

java - 使用 element.click() 时出现 WebDriverException 'unknown error: no element reference returned by script'

转载 作者:行者123 更新时间:2023-12-02 09:17:56 27 4
gpt4 key购买 nike

尝试使用 selenium '3.14.0' java '1.8.0_151' 进行自动化 UI 测试自动化在独立 GUI 上运行,并作为内部 iframe 中另一个系统上的插件运行我有一个标签指的是隐藏复选框,您可以在下面看到部分元素..

input[type=checkbox] {
display: none;

label {
cursor: pointer;
display: inline-block;
width: 100%;
padding: 0 0 0 1.333333rem;

当从独立 UI 中单击标签时 - 它工作正常,但是当在包含系统的 iframe 中单击同一个标签时,我得到:

 org.openqa.selenium.WebDriverException: unknown error: no element reference returned by script
(Session info: chrome=78.0.3904.97)
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 78.0.3904.97, chrome: {chromedriverVersion: 78.0.3904.11 javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 80eb99bb78d864bcd2a4c1d4205a5d1c

代码:

    WebDriver driver = new ChromeDriver(chromeOptions); 
WebDriverWait wait = new WebDriverWait(driver, WEBDRIVER_WAIT_TIME_SEC);
WebElement plugin = getRemoteIframe(By.cssSelector(pluginIframeCss));
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(plugin));
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("my-id")));
element.click();//throws WebDriverException
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("my-id")));
element.click();//throws WebDriverException

请注意,我发现该元素具有所有属性,元素可见且可单击,当尝试从控制台(F12)单击它时,它可以工作,只有通过代码单击才会引发异常...

有人熟悉这个问题吗?

最佳答案

可以尝试用javascriptExecutor进行点击操作吗?可能是被其他 webElement 覆盖的元素。

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", webElement);

关于java - 使用 element.click() 时出现 WebDriverException 'unknown error: no element reference returned by script',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58872973/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com