selenium3.0 的显示等待
时间: 2023-09-06 07:07:04 浏览: 101
Selenium 3.0中的显示等待是指在代码中设置一个条件,直到该条件满足或等待时间超时,WebDriver才会继续执行下一步操作。这种等待方式可以避免程序执行过程中的不必要等待,提高了测试脚本的执行效率。
下面是一个使用显示等待的示例代码:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 启动浏览器
browser = webdriver.Chrome()
# 打开网页
browser.get('https://www.baidu.com/')
# 设置等待时间为10秒
wait = WebDriverWait(browser, 10)
# 等待搜索框加载并获取该元素
input = wait.until(EC.presence_of_element_located((By.ID, 'kw')))
# 输入搜索内容
input.send_keys('Selenium')
# 等待搜索按钮加载并获取该元素
button = wait.until(EC.element_to_be_clickable((By.ID, 'su')))
# 点击搜索按钮
button.click()
# 关闭浏览器
browser.quit()
```
在这个示例中,首先启动了Chrome浏览器,然后打开了百度首页。接着设置了等待时间为10秒,并使用`EC.presence_of_element_located()`方法等待搜索框元素加载。如果元素在10秒内加载完成,则会返回该元素,否则会抛出`TimeoutException`异常。一旦获取到搜索框元素,就可以向其中输入搜索内容了。然后使用`EC.element_to_be_clickable()`方法等待搜索按钮元素可点击,并在获取到该元素后点击搜索按钮。最后关闭浏览器。
需要注意的是,使用显示等待时必须导入`WebDriverWait`和`expected_conditions`模块,它们分别用于设置等待时间和等待条件。`expected_conditions`模块包含了很多等待条件,比如元素可见、元素存在、元素可点击等,可以根据实际需要选择相应的条件。
阅读全文