火狐浏览器(无头使用)
使用webdriver的火狐插件的时候,如果想要不打开浏览器界面,在使用的时候加入:
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument('-headless')
options.headless = True
driver = webdriver.Firefox(options = options)
这样运行就不会打开浏览器界面
selenium暂停
在打开界面的时候,因为网络等各种因素,会存在延时现象。对于这种现象,有3种处理办法。
- 1.调用time模块的sleep,固定设置休眠时间
- 2.可以调用selenium模块设置固定等待时间
- 3.可以调用WebDriverWait的until方法,表示页面的指定元素加载完毕,再继续执行,代码:
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "kw")))
这里等待的是ID为kw的元素加载,等待的最长时间为10秒
获取元素
driver的find方法获取各种元素
注意的是find_element_by_XX获取的是一个元素
如果要获取多个元素的话是find_elements_by_XX