selenium中等待的分类:
1)强制等待
导入定时等待库 from time import sleep 或者 import time
2)显示等待
需要导入的包
from selenium.webdriver.support.wait import WebDriverWait #导入显性等待的包
from selenium.webdriver.support import expected_conditions as EC #判断所需要的元素是否已经被加载出来
from selenium.webdriver.common.by import By #定位
3)隐式等待
driver.implicitly_wait(30) #等待30s
注:隐式等待的作用域是全局,所以一般设置在整局代码的头几行。
小总结:
强制等待:傻瓜式等待,不智能
隐式等待:全局通用,只需设置一次,很智能(等到了就走,不会浪费时间)
显式等待:等待元素处于特定条件的时候使用,很智能(等到了就走,不会浪费时间)
昨天写的代码比较直接,今天优化一点代码更符合逻辑
from selenium import webdriver
import unittest,time
class TestHtml(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
# 打开浏览器
cls.driver = webdriver.Chrome()
# 加上一个隐式等待(30秒)