selenium 定制啟動 chrome 的選項

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

selenium 定制啟動 chrome 的選項 博客分類: java 搜索引擎,爬蟲

使用 selenium 時,我們可能需要對 chrome 做一些特殊的設置,以完成我們期望的瀏覽器行為,比如阻止圖片加載阻止JavaScript執行 等動作。這些需要 seleniumChromeOptions 來幫助我們完成

什么是 chromeoptions

chromeoptions 是一個方便控制 chrome 啟動時屬性的類。通過 selenium 的源碼,可以看到,chromeoptions 主要提供如下的功能:

  • 設置 chrome 二進制文件位置 (binary_location)
  • 添加啟動參數 (add_argument)
  • 添加擴展應用 (add_extension, add_encoded_extension)
  • 添加實驗性質的設置參數 (add_experimental_option)
  • 設置調試器地址 (debugger_address)

定制啟動選項

我們最常用的是三個功能

  • 添加chrome啟動參數
  • 修改chrome設置
  • 添加擴展應用

下面以python為例一一說明,其他語言可以參考 selenium 源碼

添加 chrome 啟動參數

# 啟動時設置默認語言為中文 UTF-8
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5

最常用的應用場景是設置user-agent以用來模擬移動設備,比如模擬 iphone6

options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')
  • 1

修改chrome設置

# 禁止圖片加載
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_setting_values' : {'images' : 2}
}
options.add_experimental_option('prefs',prefs)
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

更多實驗參數請參考chromedriver 官網

添加擴展

from selenium import webdriver
options = webdriver.ChromeOptions()
extension_path = '/extension/path'
options.add_extension(extension_path)
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5

附贈添加代理方法

from selenium import webdriver
PROXY = "proxy_host:proxy:port"
options = webdriver.ChromeOptions()
desired_capabilities = options.to_capabilities()
desired_capabilities['proxy'] = {"httpProxy":PROXY,"ftpProxy":PROXY,"sslProxy":PROXY,"noProxy":None,"proxyType":"MANUAL","class":"org.openqa.selenium.Proxy","autodetect":False
}
driver = webdriver.Chrome(desired_capabilities = desired_capabilities)http://blog.csdn.net/vinson0526/article/details/51850929

轉載于:https://my.oschina.net/xiaominmin/blog/1598958

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284649.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284649.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284649.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

平臺級 SAAS 架構的基礎:統一身份管理系統

業內在用戶統一身份認證及授權管理領域,主要關注 4 個方面:集中賬號管理(Account)、集中認證管理(Authentication)、集中授權管理(Authorization)和集中審計管理(Audit&a…

【ArcGIS Pro微課1000例】0017:ArcGIS Pro 2.8制作炫酷的ETOPO1全球DEM地圖

ArcGIS Pro相對于ArcGIS,在制圖方面做了很大的提升,做出的地圖更加優美,本文講解基于NOAA的ETOPO1數據全球DEM數據制作炫酷的全球DEM地圖,先看效果再教學! 1. 效果展示 全球 澳大利亞大陸

Js中的for in

2019獨角獸企業重金招聘Python工程師標準>>> 后臺數據&#xff1a; List<Map<String, Object>> uTags query.selectAllList("velocity.userGetTags", map); 前端解析&#xff1a; for(var i in data.content){//由于這里是List[i](Map).IDc…

VMWare 安裝 Linux

參考 &#xff1a; http://www.aboutyun.com/thread-6780-1-1.html 這的是很詳細。贊一下 我這里就簡化一下。 1 下載&#xff1a; VMWare : https://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.0-1295980.exe ubuntu : http://www.aboutyun…

【ArcGIS Pro微課1000例】0018:ArcGIS Pro 2.8通過OLE DB與個人數據庫建立連接案例

對于個人數據庫,Access程序可以直接打開。本文講解在ArcGIS Pro2.8中通過OLE DB與個人數據庫MDB建立聯系的方法與過程。 文章目錄 1. 個人數據庫準備2. OLE DB連接個人數據庫1. 個人數據庫準備 準備一個個人數據庫,在上面右鍵→復制文件地址。 文件地址為:"C:\test.md…

JAVA生成并導出json文件

將一個list集合轉換成json文件并導出&#xff1a; 數據集合&#xff1a;    List<Object> agencyList new ArrayList<Object>();Map<String, Object> agencyMap new HashMap<>();agencyMap.put("agencyName",agencyName);agencyMap.pu…

《ASP.NET Core 6框架揭秘》實例演示[02]:基于路由、MVC和gRPC的應用開發

ASP.NET Core可以視為一種底層框架&#xff0c;它為我們構建出了基于管道的請求處理模型&#xff0c;這個管道由一個服務器和多個中間件構成&#xff0c;而與路由相關的EndpointRoutingMiddleware和EndpointMiddleware是兩個最為重要的中間件。MVC和gRPC開發框架就建立在路由基…

什么是 JWT -- JSON WEB TOKEN

什么是JWT Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而執行的一種基于JSON的開放標準&#xff08;(RFC 7519).該token被設計為緊湊且安全的&#xff0c;特別適用于分布式站點的單點登錄&#xff08;SSO&#xff09;場景。JWT的聲明一般被用來在身份提供者和服務提…

Re-installation failed due to different application signatures.

問題&#xff1a; 在虛擬設備上運行程序時提示安裝失敗。 [2010-08-08 00:38:30 - myApp] Re-installation failed due to different application signatures. [2010-08-08 00:38:30 - myApp] You must perform a full uninstall of the application. WARNING: This will remo…

【ArcGIS微課1000例】0024:ArcGIS如何連接文件夾、設認工作目錄、默認地理數據庫、相對路徑與絕對路徑?

ArcGIS軟件在初次安裝完成或者為了工作的方便,通常需要連接到指定的文件夾、設置默認工作路徑,默認地理數據庫、相對路徑與絕對路徑等。 文章目錄 1. 文件夾連接2. 默認工作目錄3. 默認地理數據庫4. 相對路徑與絕對路徑1. 文件夾連接 在初次安裝完ArcGIS時,默認沒有文件夾連…

shell 用環境變量的值修改properties文件

假設有如下屬性文件 demo.properties user.nametest user.password123456 ............................... 需求&#xff1a;先需要通過shell 腳本將 user.name 和 user.password 的value值替換為實際需要的用戶名和密碼&#xff0c; 將可以通過如下方式實現&#xff1a; sed …

【Spring Cloud】Redis緩存接入監控、運維平臺CacheCloud

CacheCloud CacheCloud提供一個Redis云管理平臺&#xff1a;實現多種類型(Redis Standalone、Redis Sentinel、Redis Cluster)自動部署、解決Redis實例碎片化現象、提供完善統計、監控、運維功能、減少運維成本和誤操作&#xff0c;提高機器的利用率&#xff0c;提供靈活的伸縮…

[Win10應用開發] 使用 Windows 推送服務 (WNS)

前言 Windows 推送服務&#xff08;WNS&#xff09;也是 Win10 通知機制中的一種&#xff0c;今天與大家一起學習一下有關WNS的相關知識。使用 Windows 推送服務的前提是你需要有一個微軟開發者賬號&#xff0c;這樣才能得到一些合法的密鑰信息用于與WNS服務器完成通訊操作。 …

Windows 11 新版 25158 推送!全新搜索框和圖標、小組件動態內容和通知標記

面向 Dev 頻道的 Windows 預覽體驗成員&#xff0c;微軟現已推送 Windows 11 預覽版 Build 25158。主要變化1.微軟宣布為 Windows 11 搜索引入全新視覺體驗&#xff0c;由搜索框或重新設計的搜索圖標呈現。目前該功能僅向部分 Windows 預覽體驗成員推出&#xff0c;將在未來向所…

Python之路【第一篇】:環境搭建

虛擬機安裝 下載VMwareWorkstation以及centos,安裝完VMwareWorkstation&#xff0c;創建一個虛擬機&#xff0c;然后在新創建的虛擬機上運行centos linux環境搭建 公司開發使用linux的原因&#xff1a;穩定、安全、開源 在虛擬機中使用centos這個版本&#xff0c;作為服務器端的…

【BIM入門實戰】Revit創建地形的幾種方法及優缺點

Revit在體量和場地選項卡的【地形表面】工具可以創建三維地形,有三種方法:放置點、指定點文件和導入實例文件、傾斜攝影點云技術和InfraWorks地形生成。 文章目錄 1. 放置點2. 指定點文件3. 導入實例文件4. 傾斜攝影點云技術5. InfraWorks地形生成1. 放置點 放置點功能位于體…

2024年起重機司機(限門式起重機)證考試題庫及起重機司機(限門式起重機)試題解析

題庫來源&#xff1a;安全生產模擬考試一點通公眾號小程序 2024年起重機司機(限門式起重機)證考試題庫及起重機司機(限門式起重機)試題解析是安全生產模擬考試一點通結合&#xff08;安監局&#xff09;特種作業人員操作證考試大綱和&#xff08;質檢局&#xff09;特種設備作…

微服務架構下的統一身份認證和授權

一、預備知識 本文討論基于微服務架構下的身份認證和用戶授權的技術方案&#xff0c;在閱讀之前&#xff0c;最好先熟悉并理解以下幾個知識點&#xff1a; 微服務架構相關概念&#xff1a;服務注冊、服務發現、API 網關身份認證和用戶授權&#xff1a;SSO、CAS、OAuth2.0、JW…

使用vh來制作高度自適應頁面和元素垂直居中

為什么80%的碼農都做不了架構師&#xff1f;>>> vh單位 vh是CSS3中的一個長度單位&#xff0c;其值為&#xff1a;100vh 視窗高度。即如果窗口高度為500px&#xff0c;那么 1vh 5px。具體的值會隨著瀏覽器視窗高度的改變而實時改變&#xff0c;因此可以利用這個單…

傳智168期JavaEE struts2杜宏 day32~day33(2017年2月15日23:27:09)

struts2學習完畢&#xff0c;寒假學習效率還不錯。 筆記鏈接 鏈接&#xff1a;http://pan.baidu.com/s/1boBJLVp 密碼&#xff1a;wwl4轉載于:https://www.cnblogs.com/huangtao1996/p/6403886.html