Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何处理“问题”;“等等”;或;为web应用程序加载_Selenium_Sleep - Fatal编程技术网

Selenium 如何处理“问题”;“等等”;或;为web应用程序加载

Selenium 如何处理“问题”;“等等”;或;为web应用程序加载,selenium,sleep,Selenium,Sleep,我通过为一个web应用程序编写自动化代码来学习selenium。 加载页面时,我调用Thread.sleep()方法,然后设置元素ID 在下面的代码中,首先单击submit按钮,然后等待“Success”div loader isElementPresent("btn_settingsSubmit_id").click(); Thread.sleep(2000); WebDriverWait waitSet = ne

我通过为一个web应用程序编写自动化代码来学习selenium。 加载页面时,我调用Thread.sleep()方法,然后设置元素ID

在下面的代码中,首先单击submit按钮,然后等待“Success”div loader

    isElementPresent("btn_settingsSubmit_id").click();
    Thread.sleep(2000);
    
            
    WebDriverWait waitSet = new WebDriverWait(driver,40);
    waitSet.until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath("//span[@class='jq-toast-loader jq-toast-loaded']"))));
    
    //*********************************Add Priority***************************************
    Thread.sleep(6000);
    WebElement PT=isElementPresent("lnk_priorityTab_id");
    PT.click();
    WebDriverWait wait02 = new WebDriverWait(driver,30);
    wait02.until(ExpectedConditions.invisibilityOfElementLocated(By.className("preloader")));
这里的问题是,若互联网速度慢,或者服务器需要时间来发送响应,那个么睡眠并没有什么帮助,并且会出现一个错误,比如找不到元素id


处理此页面/元素加载的方法是什么?

对Id使用相同的
ExpectedConditions.visibilityOf()
。ExpectedConditions.visibilityOf()做什么。这将等待元素可见。一旦元素可见,这将移动到下一个语句,不再等待指定的时间。我们可以将其用于所有元素还是仅在某个位置使用?您可以在需要标识元素的任何位置使用。这是避免同步错误的最佳实践。它在哪里失败?关于“预加载程序”的隐形性?30秒不够长吗?或者这是“isElementPresent(“lnk_priorityTab_id”)”上的失败,您尚未添加等待。@DMart我应用了web驱动程序等待“isElementPresent(“lnk_priorityTab_id”)”直到该元素可见。它有时运行良好,有时会出现过时的元素引用异常。代码何时运行、何时中断变得不确定。如何处理?