python – 如何在selenium中覆盖默认的chrome命令行开关集
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何在selenium中覆盖默认的chrome命令行开关集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2673字,纯文字阅读大概需要4分钟。
内容图文
![python – 如何在selenium中覆盖默认的chrome命令行开关集](/upload/InfoBanner/zyjiaocheng/744/296291ecadbb42b9928febce074f2fb7.jpg)
默认情况下,将使用此命令行运行chrome:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
--disable-hang-monitor
--disable-prompt-on-repost
--dom-automation
--full-memory-crash-report
--no-default-browser-check
--no-first-run
--disable-background-networking
--disable-sync
--disable-translate
--disable-web-resources
--safebrowsing-disable-auto-update
--safebrowsing-disable-download-protection
--disable-client-side-phishing-detection
--disable-component-update
--disable-default-apps
--enable-logging
--log-level=1
--ignore-certificate-errors
--no-default-browser-check
--test-type=ui
--user-data-dir="C:\Users\nik\AppData\Local\Temp\scoped_dir1972_4232"
--testing-channel=ChromeTestingInterface:1972.1
--noerrdialogs
--metrics-recording-only
--enable-logging
--disable-zero-browsers-open-for-tests
--allow-file-access
--allow-file-access-from-files about:blank
我需要覆盖(删除)所有命令–disable- *,因为没有等效的命令–enable- *.
最后,我想用这个命令行运行浏览器:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
--dom-automation
--full-memory-crash-report
--no-first-run
--safebrowsing-disable-auto-update
--safebrowsing-disable-download-protection
--enable-logging
--log-level=1
--ignore-certificate-errors
--test-type=ui
--user-data-dir="C:\Users\nik\AppData\Local\Temp\scoped_dir1972_4232"
--testing-channel=ChromeTestingInterface:1972.1
--noerrdialogs
--metrics-recording-only
--enable-logging
--allow-file-access
--allow-file-access-from-files about:blank
例如,我尝试使用翻译信息栏运行浏览器.
我找到了选项–enable-translate.
capabilities = DesiredCapabilities.CHROME.copy()
capabilities['chrome.switches'] = ['--enable-translate']
但这并没有帮助,infobar没有出现.在命令行中,有两个命令: – disable-translate和–enable-translate.这是因为必须删除命令–disable-default-apps
解决方法:
你应该自己开始浏览,然后告诉selenium,你已经通过传递特殊的频道ID启动了它.像这样的东西:
from random import randrange
channel_id = "%032x" % randrange(16**32)
from subprocess import Popen
# HERE YOU PASS ONLY THOSE PARAMETERS YOU WANT (i.e. without --disable-*)
# BUT YOU MAY NEED --dom-automation FOR SOME ROUTINES
chrome = Popen(" ".join([
PATH_TO_CHROME_EXE,
"--no-first-run", "--dom-automation",
("--testing-channel=\"NamedTestingInterface:%s\"" % channel_id),
]))
try:
from selenium.webdriver.chrome.service import Service
chromedriver_server = Service(PATH_TO_CHROMEDRIVER, 0)
chromedriver_server.start()
from selenium.webdriver import Remote
driver = Remote(chromedriver_server.service_url,
{"chrome.channel": channel_id, "chrome.noWebsiteTestingDefaults": True})
driver.get(MY_WEBPAGE)
# DO YOUR WORK
finally:
chromedriver_server.stop()
driver.quit()
chrome.kill()
chrome.wait()
内容总结
以上是互联网集市为您收集整理的python – 如何在selenium中覆盖默认的chrome命令行开关集全部内容,希望文章能够帮你解决python – 如何在selenium中覆盖默认的chrome命令行开关集所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。