Selenium有一些截圖頁面元素監控的方法,通過這些方法可以實現頁面的完整截圖或者元素截圖,並可靈活應用於失敗用例截圖、頁面監控等場景。
Selenium中用於頁面截圖的主要方法和應用示例如下:
截圖方法
get_screenshot_as_file(filename)
- 截圖保存為文件driver.get_screenshot_as_file("screenshot.png")
或者可使用
save_screenshot(filename)
- 截圖保存為文件driver.save_screenshot("screenshot.png")
get_screenshot_as_png()
- 截圖並返回圖片數據img = driver.get_screenshot_as_png()
應用示例
try:
# 測試步驟
except Exception as e:
driver.get_screenshot_as_file("error.png")
raise e
ele = driver.find_element_by_id("element") #尋找元素
ele.screenshot("element.png") #保存為png檔案
while True:
driver.save_screenshot("screenshot.png")
time.sleep(5)
也可以使用以下方式做到頁面元素的截圖(對於移動到特定元素會顯示彈出視窗的):
先引用
from selenium.webdriver.common.action_chains import ActionChains
接著一樣,連上網站後去尋找元素
ele = driver.find_element_by_id("element")
然後創建一個ActionChains對象
action = ActionChains(driver)
接著(模擬)移動滑鼠移動到該元素
action.move_to_element(charts).perform()
透過.perform()可以執行所指定好的一連串動作,也可以為如下
actions = ActionChains(driver)
actions.move_to_element(ele)
actions.click(ele)
actions.perform()
最後再做畫面截圖並保存即可
driver.get_screenshot_as_file("imag.png")