通過Python3+selenium自動測試網頁

使用的是selenium,最開始接觸這個模塊包是爬蟲,這次是工作需要來自動測試網頁。

記錄一下模擬不同瀏覽器的方式

  • 總共測了兩個瀏覽器,Firefox在centos7上和chrome在win10上。都是模擬的IPAD方式訪問,原因是使用模擬手機的話,會有部分內容被擋住導致無法模擬點擊,┑( ̄Д  ̄)┍無奈。
  • so,模擬手機和模擬IPAD是同樣的操作,只是把對應IPAD的內容換成想要的手機就可以了。
from selenium import webdriver

# 使用Firefox手機瀏覽器
user_agent = "Mozilla/5.0 (iPad; CPU OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1"
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", user_agent)
driver = webdriver.Firefox(profile, executable_path="geckodriver")
# 設置窗口大小
driver.set_window_size(1080, 1920)
testUrl = 'www.baidu.com'  # 已替換
# 加載指定的網址
driver.get(testUrl)

# 模擬chrome手機瀏覽器
mobileEmulation = {'deviceName': 'iPad'}
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', mobileEmulation)
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
testUrl = 'www.baidu.com'  # 已替換
driver.get(testUrl)
# 設置窗口大小
driver.set_window_size(1024, 1366)

###
實現邏輯
###

可以注意到:

Firefox和chrome對於模擬手機的設置方式不同。
Firefox是通過改變響應頭來模擬,chrome是有固定的設備選項。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章