c#和Java和python设置selenium超时时间
c#
//设置页面加载超时时间
this.driver.Manage().Timeouts().PageLoad.Seconds.Equals(TimeSpan.FromSeconds(300));
//隐式等待
this.driver.Manage().Timeouts().ImplicitWait.Seconds.Equals(TimeSpan.FromSeconds(300));
//异步脚本执行超时时间
this.driver.Manage().Timeouts().AsynchronousJavaScript.Hours.Equals(TimeSpan.FromHours(1));
//显示等待(推荐使用,节省时间,提高效率)
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until((d) =>
{
     try
     {
          return driver.FindElement(By.Name("word"));
     }
     catch (Exception ex)
     {
          return null;
     }
});
java
//TimeOut三个常见的接口
implicitlyWait(long time, TimeUnit unit);
setScriptTimeout(long time, TimeUnit unit);
pageLoadTimeout(long time, TimeUnit unit);
driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(3,TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(120, TimeUnit.SECONDS);
//java selenium三种等待方式
//强制等待
Thread.sleep(3000);
//隐式等待
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
//显式等待
//10秒内 出现.red_box元素就往下执行,如果10秒过后还没出现就跳出
WebDriverWaitwait=new WebDriverWait(driver, 10);
WebElement wl= wait.until(new ExpectedCondition<WebElement>() {  
            publicWebElement apply(WebDriver d) {  
                  return d.findElement(By.cssSelector(".red_box"));  
            } 
        });
python
driver.set_page_load_timeout(time)  # 设置页面加载超时
driver.set_script_timeout(time)  # 设置页面异步js执行超时
driver.implicitly_wait(time) # 隐式等待
WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.ID, 'wrapper'))) # 显式等待1
WebDriverWait(driver, 3).until_not(EC.presence_of_element_located((By.ID, 'wrapper1'))) # 显式等待2
expected_conditions类提供的预先判断条件:https://blog.csdn.net/weixin_41624982/article/details/89048936

                
            
        
浙公网安备 33010602011771号