可使用ChromeOptions()實(shí)現(xiàn)谷歌瀏覽器一系列功能:
from selenium.webdriver.chrome.options import Options
option = Options()
#在打開(kāi)瀏覽器之前,去掉自動(dòng)化標(biāo)識(shí)
option.add_experimental_option('excludeSwitches', ['enable-automation'])
常見(jiàn)不需要的瀏覽器功能:
–disable-client-side-phishing-detection:禁用客戶端網(wǎng)絡(luò)釣魚(yú)檢測(cè)
–disable-component-extensions-with-background-pages:禁用一些不受影響的內(nèi)置擴(kuò)展–disable-extensions
–disable-default-apps:禁用默認(rèn)應(yīng)用程序的安裝
–disable-extensions:禁用所有 chrome 擴(kuò)展
–disable-features=InterestFeedContentSuggestions:禁用 NTP 上的發(fā)現(xiàn)源
–disable-features=Translate:禁用 Chrome 翻譯,包括手動(dòng)選項(xiàng)和檢測(cè)到不同語(yǔ)言的頁(yè)面時(shí)彈出的提示。
–hide-scrollbars:在屏幕截圖中隱藏滾動(dòng)條。
–mute-audio:將所有音頻靜音
–no-default-browser-check:禁用默認(rèn)瀏覽器檢查,不提示進(jìn)行這樣的設(shè)置
–no-first-run:跳過(guò)首次運(yùn)行向?qū)?/p>
任務(wù)節(jié)流:
–disable-background-timer-throttling:禁用在后臺(tái)頁(yè)面/選項(xiàng)卡中限制計(jì)時(shí)器
–disable-backgrounding-occluded-windows:通常,如果周圍的窗口被另一個(gè)窗口遮擋(也稱為視覺(jué)上覆蓋),Chrome 會(huì)將“前景”選項(xiàng)卡視為背景選項(xiàng)卡。該標(biāo)志禁用該功能。
–disable-features=CalculateNativeWinOcclusion:禁用以下功能:將來(lái)將使用 Windows 上的計(jì)算窗口遮擋來(lái)限制并可能卸載遮擋窗口中的前景選項(xiàng)卡。
–disable-hang-monitor:禁止渲染器進(jìn)程中掛起監(jiān)視器對(duì)話框。此標(biāo)志可能允許頁(yè)面上的緩慢卸載處理程序以防止選項(xiàng)卡關(guān)閉。
–disable-ipc-flooding-protection:一些 javascript 函數(shù)可用于通過(guò) IPC 淹沒(méi)瀏覽器進(jìn)程。默認(rèn)情況下,保護(hù)處于打開(kāi)狀態(tài),將發(fā)送的 IPC 數(shù)量限制為每幀每秒 10 個(gè)。該標(biāo)志禁用它。
–disable-renderer-backgrounding:這會(huì)禁止非前臺(tái)選項(xiàng)卡獲得較低的進(jìn)程優(yōu)先級(jí)。這不會(huì)(就其本身而言)影響計(jì)時(shí)器或繪畫(huà)行為。
網(wǎng)絡(luò)平臺(tái)行為:
–aggressive-cache-discard:緩存丟棄
–allow-running-insecure-content:允許運(yùn)行不安全內(nèi)容
–disable-back-forward-cache:禁用 BackForwardCache 功能。
–disable-features=AcceptCHFrame:禁用接受 h2/h3 ACCEPT_CH客戶端提示幀。
–disable-features=AutoExpandDetailsElement:于2022 年 9 月刪除。
–disable-features=AvoidUnnecessaryBeforeUnloadCheckSync:如果啟用,此功能會(huì)導(dǎo)致瀏覽器進(jìn)程僅在知道已注冊(cè)此類處理程序時(shí)才要求渲染器進(jìn)程運(yùn)行 beforeunload 處理程序。對(duì)于kAvoidUnnecessaryBeforeUnloadCheckSync,內(nèi)容不會(huì)報(bào)告存在 beforeunload 處理程序。其后果是,通常會(huì)在繼續(xù)之前檢查 beforeunload 處理程序的導(dǎo)航不會(huì),并且導(dǎo)航將同步繼續(xù)。
–disable-features=BackForwardCache:禁用bfcache。
–disable-features=HeavyAdPrivacyMitigations
–disable-features=IsolateOrigins
–disable-features=LazyFrameLoading
–disable-features=ScriptStreaming:V8腳本流
–enable-precise-memory-info:使返回到 window.performance.memory 的值在共享工作線程中更加細(xì)化和更新。如果沒(méi)有此標(biāo)志,內(nèi)存信息仍然可用,但它會(huì)被分桶并更新得不那么頻繁。該標(biāo)志也適用于工人。
–js-flags=–random-seed=1157259157:用固定種子初始化V8的RNG。
–use-fake-device-for-media-stream:使用假媒體流設(shè)備來(lái)代替攝像頭和麥克風(fēng)
–use-fake-ui-for-media-stream:通過(guò)選擇媒體流的默認(rèn)設(shè)備(例如WebRTC)來(lái)繞過(guò)媒體流信息欄。與 --use-fake-device-for-media-stream 一起使用。
–use-file-for-fake-video-capture=:使用文件進(jìn)行虛假視頻捕獲(.y4m 或 .mjpeg) 需要–use-fake-device-for-media-stream
交互抑制:
–autoplay-policy=…user-gesture-required:不自動(dòng)播放視頻的值。no-user-gesture-required始終自動(dòng)播放視頻的值。
–deny-permission-prompts:通過(guò)自動(dòng)拒絕來(lái)抑制所有權(quán)限提示。
–disable-external-intent-requests:禁止在外部應(yīng)用程序中打開(kāi)鏈接
–disable-features=GlobalMediaControls:隱藏可打開(kāi)用于控制媒體會(huì)話的對(duì)話框的工具欄按鈕。
–disable-features=ImprovedCookieControls:禁用改進(jìn)的 UI,以便在隱身模式下阻止第三方 cookie。
–disable-notifications:禁用 Web 通知和推送 API。
–disable-popup-blocking:禁用彈出窗口阻止。–block-new-web-contents是這個(gè)的嚴(yán)格版本。
–disable-prompt-on-repost:重新加載來(lái)自 POST 的頁(yè)面通常會(huì)提示用戶。
–noerrdialogs:抑制所有存在的錯(cuò)誤對(duì)話框。
自動(dòng)化設(shè)置:
–enable-automation:禁用一些被認(rèn)為不適合自動(dòng)化的功能。(原始設(shè)計(jì)文檔,雖然在這里重命名)codesearch。請(qǐng)注意,某些項(xiàng)目選擇避免使用此標(biāo)志:web-platform-tests/wpt/#6348、
設(shè)置window.navigator.webdriver為true所有 JS 上下文中。使用 --headless,–remote-debugging-pipe和–remote-debugging-port=0(是的,特別是0 )時(shí)也會(huì)設(shè)置此值。
禁用有關(guān)運(yùn)行開(kāi)發(fā)/解壓擴(kuò)展的氣泡通知(來(lái)源)
禁用密碼保存 UI(涵蓋已失效 標(biāo)志的用例–disable-save-password-bubble)
禁用信息欄動(dòng)畫(huà)(來(lái)源)
禁用網(wǎng)絡(luò)錯(cuò)誤時(shí)的自動(dòng)重新加載(來(lái)源)
啟用 CDP 方法Browser.getBrowserCommandLine。
避免顯示這 4 個(gè)信息欄:ShowBadFlagsPrompt、GoogleApiKeysInfoBarDelegate、ObsoleteSystemInfoBarDelegate、LacrosButterBar
添加此信息欄:
已知會(huì)對(duì)屏幕截圖產(chǎn)生不利影響。
–test-type:基本上是 2014 年版本–enable-automation。
它避免在 Mac 上的 ~/Applications 中創(chuàng)建應(yīng)用程序存根。
它使退出代碼稍微更正確
Windows 導(dǎo)航跳轉(zhuǎn)列表未更新
不啟動(dòng)一些 chrome StartPageService
禁用初始化 chromecast 服務(wù)
“在測(cè)試期間不會(huì)啟用帶有后臺(tái)頁(yè)面的組件擴(kuò)展,因?yàn)樗鼈儠?huì)生成大量可能干擾的后臺(tái)行為?!?br> 退出瀏覽器時(shí),它會(huì)禁用可能停止退出過(guò)程的其他檢查。(例如未保存的表單修改或未處理的個(gè)人資料通知…)
–remote-debugging-pipe:比通過(guò) websocket 使用協(xié)議更安全
–remote-debugging-port=…:值為 0 時(shí),Chrome 將自動(dòng)選擇可用端口并設(shè)置navigator.webdriver為true。
–silent-debugger-extension-api:當(dāng) Chrome 擴(kuò)展程序使用頁(yè)面附加到頁(yè)面時(shí),不顯示信息欄chrome.debugger。需要附加到擴(kuò)展背景頁(yè)面。
常規(guī):
–enable-logging=stderr:日志記錄行為稍微更適合服務(wù)器類型的進(jìn)程。
–log-level=0: 0 表示 INFO 及更高。2是最冗長(zhǎng)的。專業(yè)提示:使用–enable-logging=stderr --v=2后,您可能會(huì)發(fā)現(xiàn)您可能想要禁用的其他活動(dòng)組件。
–user-data-dir=…:瀏覽器存儲(chǔ)用戶配置文件的目錄。
后臺(tái)聯(lián)網(wǎng):
–disable-background-networking:禁用各種后臺(tái)網(wǎng)絡(luò)服務(wù),包括擴(kuò)展更新、安全瀏覽服務(wù)、升級(jí)檢測(cè)器、翻譯、UMA
–disable-breakpad:禁用故障轉(zhuǎn)儲(chǔ)收集(Chromium 中已禁用報(bào)告)
–disable-component-update:不要更新 chrome://components/ 中列出的瀏覽器“組件”
–disable-domain-reliability:禁用域可靠性監(jiān)控,該監(jiān)控會(huì)跟蹤瀏覽器是否難以聯(lián)系 Google 擁有的網(wǎng)站并向 Google 上傳報(bào)告。
–disable-features=AutofillServerCommunication:禁用(主要用于密封測(cè)試)自動(dòng)填充服務(wù)器通信。自動(dòng)填充服務(wù)器的 URL 可以通過(guò) autofill-server-url 參數(shù)進(jìn)一步控制。給定的 URL 應(yīng)指定完整的自動(dòng)填充服務(wù)器 API URL,直至“查詢”和“上傳”資源的父“目錄”。
–disable-features=CertificateTransparencyComponentUpdater
–disable-sync:禁用同步到 Google 帳戶
–enable-crash-reporter-for-testing:用于在調(diào)試環(huán)境中打開(kāi) Breakpad 崩潰報(bào)告,其中崩潰報(bào)告通常被編譯但被禁用。
–metrics-recording-only:禁用向 UMA 報(bào)告,但允許收集
–disable-features=OptimizationHints:禁用Chrome優(yōu)化指南及其服務(wù)API的網(wǎng)絡(luò)
–disable-features=MediaRouter:禁用Chrome Media Router,它會(huì)創(chuàng)建一些后臺(tái)網(wǎng)絡(luò)活動(dòng)來(lái)發(fā)現(xiàn)可投射目標(biāo)。
–no-pings:不發(fā)送超鏈接審核 ping
渲染和 GPU:
–allow-pre-commit-input:允許在提交幀之前處理輸入。被無(wú)頭使用。
–deterministic-mode:實(shí)驗(yàn)性元標(biāo)志。這設(shè)置了以下縮進(jìn)標(biāo)志,這些標(biāo)志將瀏覽器置于渲染(邊框半徑等)是確定性的模式,并且應(yīng)通過(guò) DevTools 協(xié)議發(fā)出開(kāi)始幀。
–run-all-compositor-stages-before-draw
–disable-new-content-rendering-timeout
–enable-begin-frame-control
–disable-threaded-animation
–disable-threaded-scrolling
–disable-checker-imaging
–disable-image-animation-resync
–disable-features=PaintHolding:不要推遲繪制提交(通常用于避免無(wú)樣式內(nèi)容的閃爍)
–disable-partial-raster: 禁用此功能可以提高圖像渲染的準(zhǔn)確性和質(zhì)量,但可能會(huì)增加處理時(shí)間和資源消耗。
–disable-skia-runtime-opts:不要在 Skia 中使用運(yùn)行時(shí)檢測(cè)的高端 CPU 優(yōu)化。
–in-process-gpu:通過(guò)將 GPU 進(jìn)程移至瀏覽器進(jìn)程線程來(lái)節(jié)省一些內(nèi)存
–use-gl=“swiftshader”:選擇 GPU 進(jìn)程應(yīng)使用哪種 GL 實(shí)現(xiàn)。選項(xiàng)有:desktop:用戶安裝的任何桌面 OpenGL(Linux 和 Mac 默認(rèn))。egl:用戶安裝的任何 EGL / GLES2(Windows 默認(rèn) - 實(shí)際上是 ANGLE)。swiftshader:SwiftShader 軟件渲染器。
窗口和屏幕管理:
–block-new-web-contents:所有彈出窗口和對(duì) window.open 的調(diào)用都會(huì)失敗。
–force-color-profile=srgb:強(qiáng)制將所有顯示器視為具有指定的顏色配置文件。
–new-window:在新瀏覽器窗口中啟動(dòng) URL。
–window-position=0,0:指定初始窗口位置:–window-position=x,y
–window-size=1600,1024:設(shè)置初始窗口大小。以字符串形式提供,格式為“800,600”。
流程管理:
–disable-features=DestroyProfileOnBrowserClose:禁用以下功能:在最后一個(gè)瀏覽器窗口關(guān)閉時(shí)(而不是瀏覽器退出時(shí))銷毀配置文件。
–disable-features=site-per-process:禁用 OOPIF。
–no-service-autorun:禁止服務(wù)進(jìn)程將自身添加為自動(dòng)運(yùn)行進(jìn)程。這不會(huì)刪除現(xiàn)有的自動(dòng)運(yùn)行注冊(cè),它只是阻止服務(wù)注冊(cè)新的自動(dòng)運(yùn)行注冊(cè)。
–process-per-tab:沒(méi)有做任何事情。使用 --single-process 代替。
–single-process:在與瀏覽器相同的進(jìn)程中運(yùn)行渲染器和插件。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-768733.html
無(wú)頭模式:
–headless:以無(wú)頭模式運(yùn)行,即沒(méi)有 UI 或顯示服務(wù)器依賴項(xiàng)。
–headless=new:新的原生無(wú)頭模式。(之前,–headless=chrome)
–no-sandbox:有時(shí)與 headless 一起使用,但不推薦。
–disable-dev-shm-usage:常用于Lambda、Cloud Functions場(chǎng)景。(
–disable-gpu:經(jīng)常與 一起使用–headless,但從 2021 年開(kāi)始,不再需要。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-768733.html
到了這里,關(guān)于自動(dòng)化進(jìn)階之路,selenium中webdriver的ChromeOptions參數(shù)說(shuō)明的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!