python操作瀏覽器及截圖小結


近期做網頁自動化用到內容小結

1、打開瀏覽器
1)打開默認配置的瀏覽器
from selenium import webdriver
driver = webdriver.Firefox()
"""chrome瀏覽器
driver = webdriver.Chrome()
"""

2)帶配置打開瀏覽器
from selenium import webdriver
profile = webdriver.FirefoxProfile(profile_path) #profile_path為ff配置文件的路徑,cmd下進入ff安裝目錄,執行firefox.exe -p可以進入定制我們需要的配置,比如添加插件、配置不記錄歷史等
driver = webdriver.Firefox(firefox_profile=profile)

"""chrome瀏覽器
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--user-data-dir=" + current_chrome_user_data)#current_chrome_user_data為瀏覽器配置文件的路徑
driver = webdriver.Chrome(chrome_options = chrome_options)
"""

3)打開瀏覽器帶插件
options = webdriver.ChromeOptions()
options.add_extension(os.path.join(pwd_path, "AdBlock_v3.22.1.crx"))
options.add_extension(os.path.join(pwd_path, "Adblock-Plus_v1.13.4.crx"))
driver = webdriver.Chrome(chrome_options=options)
說明:這種方式打開瀏覽器后,插件加載需要一段時間,重新安裝的步驟,效率沒有帶配置打開瀏覽器的方式快

2、瀏覽器的其它常用操作
#打開百度頁面
driver.get("https://www.baidu.com/")

#刷新頁面
driver.refresh()

#返回上一頁
driver.back()
#返回下一頁
driver.forward()

#設置屏幕尺寸
driver.set_window_size(560, 960, CURRENT)
#最大化窗口
driver.maximize_window()

#退出瀏覽器,close()是關閉當前訪問頁面,quit()是退出瀏覽器,結束進程,且回收臨時文件
driver.quit()

備注:瀏覽器及頁面元素常用的函數及變量可參考https://www.cnblogs.com/yufeihlf/p/5764807.html

3、瀏覽器截圖方式
1)selenium庫
driver.get_screenshot_as_file(filename)
driver.save_screenshot(filename) 備注:save_screenshot(filename)在ff47版本以下可以截取長圖!!!如果不需要測試瀏覽器兼容性等,可以用PhantomJS代替ff/chrome打開網頁進行截圖可截取長圖
缺點:只能截取當前屏幕,無法截取長圖
2)AutoItLibrary庫封裝的Get Screen Image關鍵字
AutoItLibrary.Get Screen Image
缺點:只能截取當前屏幕,無法截取長圖
3)Selenium2Library庫封裝的Capture Page Screenshot關鍵字
Selenium2Library.Capture Page Screenshot
缺點:只能截取當前屏幕,無法截取長圖
4)chrome瀏覽器自帶的移動端截取長圖方式
按F12打開調試窗,再按Ctrl+Shift+P組合鍵,輸入capture full size screenshot回車即可截圖
備注:可通過AutoItLibrary.Send方法往瀏覽器發送這些按鍵來實現截圖,
缺點:截圖過程中鼠標必須停留在瀏覽器窗口否則截圖失敗
5)瀏覽器安裝截圖插件
chrome/ff下推薦使用full page screen capture插件,可通過前面帶配置的方式將插件包含進配置文件中,為插件截圖設置快捷鍵,並且可以設置截圖完成后自動保存到本地
打開瀏覽器后可通過AutoItLibrary.Send方法往瀏覽器發送截圖快捷鍵進行截圖
缺點:截圖過程中鼠標必須停留在瀏覽器窗口否則截圖失敗

 

4、瀏覽器驅動下載
注意:瀏覽器版本和驅動版本必須對應,才能調用到驅動操作瀏覽器,具體某個瀏覽器版本需要哪個版本的插件可以百度一下
以下提供各個版本驅動的下載地址,下載時注意需要的系統版本等
   1)chrome:http://npm.taobao.org/mirrors/chromedriver
   2)firefox:https://github.com/mozilla/geckodriver/releases/
                     http://npm.taobao.org/mirrors/geckodriver/

chromedriver驅動安裝完成后校驗是否安裝成功:

1.驅動下載完成,解壓
2.將解壓后文件chromedriver.exe復制到python的Scripts安裝目錄下(我的:E:\Python\Python36-32\Scripts),並且添加到path環境變量
3.將目錄chrome的安裝目錄添加到path環境變量。(我的:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)
4.運行下面代碼:成功打開百度即為成功:
        from selenium import webdriver
        driver = webdriver.Chrome()       
  driver.get('http://www.baidu.com')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM