首页 文章

获取元素在点(355,160)异常时无法点击

提问于
浏览
2

由于以下异常,我的脚本失败了 .

org.openqa.selenium.WebDriverException:未知错误:元素在点(355,160)处不可点击

如果元素出现在后台,则加载页面时,selenium会尝试单击并失败 . 我用过webdriverwait . 在10次中,它最少失败3次 .

如何在不使用Thread.sleep()的情况下避免/处理此问题;

enter image description here

2 回答

  • 0

    您应该等到使用 invisibilityOfElementLocated 的元素不可见,如下所示: -

    WebDriverWait wait = new WebDriverWait(driver, 10);
    wait.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath('xpath of please wait loading...')));
    

    在此之后你可以在目标上执行 click element

    希望它能工作.. :)

  • 3

    使用显式等待

    WebDriver driver = new FirefoxDriver();
    driver.get("http://somedomain/url_that_delays_loading");
    WebElement myElement = (new WebDriverWait(driver, 10))
      .until(ExpectedConditions.presenceOfElementLocated(By.id("myElement")));
    // or (new WebDriverWait(driver, 10)).until(
        //    ExpectedConditions.visibilityOfElementLocated(By.id("myElement")));
    myElement .click();
    

相关问题