您当前的位置:首页 >> 智慧农业
智慧农业

技术分享 | Web自动化之显式准备好与隐式准备好

发布时间:2025-10-29

meDriver();

webDriver.get("");

//看出马上10秒,直到 wait_ele_for 返回来 true

new WebDriverWait(webDriver,10).until((ExpectedCondition) size -> waitEleFor());

}

// 下定义一个分析方法

boolean waitEleFor(){

// 将找寻的表达方式整数表达式给 eles

List elements = webDriver.findElements(By.xpath("//*[@id='site-text-logo']"));

return elements.size()> 0;

}

强制执行马上

强制执行马上是使调用休眠一定整整。强制执行马上一般在隐式马上和显式马上都不起作用时适用。示例字符串如下

Python 版

# 马上十秒

time.sleep(10)

Java 版 // 马上2000毫秒,相当于马上2秒

Thread.sleep(2000)

实战演示

会面时试验中人邻里:,点选分类学,然后点选答疑区:

当点选分类学时,表达方式还未初始化顺利完成,这里就无需隐式马上。在点选答疑区时,表达方式已初始化顺利完成,但是还处在不可点选的平衡状态,这时要用到显式马上。

Python版

#引入依靠

import time

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions

from selenium.webdriver.support.wait import WebDriverWait

class TestHogwarts():

def setup(self):

self.driver = webdriver.Chrome()

self.driver.get('')

#加入隐式马上

self.driver.implicitly_wait(5)

def teardown(self):

#强制执行马上

time.sleep(10)

self.driver.quit()

def test_hogwarts(self):

#表达方式定位,这里的category_name是一个元组。

category_name = (By.LINK_TEXT, "GNU建设项目")

# 加入显式马上

WebDriverWait(self.driver, 10).until(

expected_conditions.element_to_be_clickable(category_name))

# 点选GNU建设项目

self.driver.find_element(*category_name).click()

Java版

import org.junit.jupiter.api.AfterAll;

import org.junit.jupiter.api.BeforeAll;

import org.junit.jupiter.api.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.support.ui.ExpectedConditions;

import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.concurrent.TimeUnit;

public class WebDriverWaitTest {

private static ChromeDriver driver;

@BeforeAll

public static void setUp() {

System.setProperty(

"webdriver.chrome.driver",

"/driver/chrome95/chromedriver"

);

driver = new ChromeDriver();

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

}

@AfterAll

public static void tearDown() {

driver.quit();

}

@Test

public void waitTest(){

driver.get("");

By locator = By.linkText("GNU建设项目");

// 加入显式马上

WebDriverWait wait = new WebDriverWait(driver, 10);

wait.until(ExpectedConditions.elementToBeClickable(locator));

// 点选GNU建设项目

driver.findElement(locator).click();

}

}

在实际工作里面马上机制可以保证字符串的稳定性,保证字符串不会受网速、电脑精度等状况的约束。

⬇️ 复制“下方链接”,提升试验中核心竞争力!

>>更多技术评论交友和免费资料缴 欢迎+V~ ceshiren001

_id=qrcodeWildfrom=souhuWildtimestamp=1651029236

济南癫痫检查多少钱
上海眼科权威医院
南京男科医院哪家看的好
北京比较好的眼科医院
柳州早泄阳痿治疗哪家好

上一篇: “十年百倍”小数大爆炸,华为如何探索“无尽的前沿”?

下一篇: 高效杀菌并迅速愈合伤口 新型纳米酶带来灭菌减毒新思路

友情链接