一、driver是什麼?
1、谷歌driver是什麼?
谷歌ChromeDriver是一種與瀏覽器無關的瀏覽器自動化工具,可以使用C++等語言編寫。
2、driver有什麼作用?
它允許你在程序控制下與Chrome瀏覽器通信,可以操作瀏覽器,如:打開網頁,填充表單等,還可以獲取瀏覽器的狀態,如Cookies和頁面標題,也可以捕獲截圖。
3、如何安裝driver?
pip install chromedriver
二、driver的使用
1、如何啟動driver?
from selenium import webdriver
driver = webdriver.Chrome() # 默認尋找環境變數PATH中chrome或chromium
2、如何打開網頁?
driver.get('https://www.google.com')
3、如何查找元素?
elem = driver.find_element_by_name('q')
elem.send_keys('Python Selenium')
elem.submit()
4、如何切換窗口?
driver.switch_to.window(driver.window_handles[-1])
5、如何等待元素載入?
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
elem = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME, 'q'))
)
三、driver的高級用法
1、如何模擬滾動頁面?
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
2、如何捕獲頁面截圖?
driver.save_screenshot('screenshot.png')
3、如何操作Cookie?
driver.get_cookies() # 獲取所有Cookie
driver.add_cookie({'name': 'key', 'value': 'value'}) # 添加Cookie
driver.delete_cookie('key') # 刪除指定Cookie
driver.delete_all_cookies() # 刪除所有Cookie
4、如何執行JavaScript?
driver.execute_script("alert('hello world')")
5、如何使用無頭模式?
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
四、driver的異常處理
1、如何處理元素查找失敗異常?
from selenium.common.exceptions import NoSuchElementException
try:
elem = driver.find_element_by_name('q')
elem.send_keys('Python Selenium')
elem.submit()
except NoSuchElementException as e:
print(e)
2、如何處理網頁載入失敗異常?
from selenium.common.exceptions import TimeoutException
try:
driver.get('https://www.google.com')
except TimeoutException as e:
print(e)
3、如何斷言頁面狀態?
assert 'Python Selenium' in driver.title
原創文章,作者:WAGJE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329492.html