iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

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")

上一篇
[DAY12]Selenium頁面操作和切換
下一篇
[DAY14]Selenium Cookie and Session
系列文
selenium爬蟲應用至discord bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言