我无法使用无头模式在Google Chrome中使用我当前安装的扩展程序.有没有办法启用它们?
检查扩展是否有效的简单方法是添加,例如," Comic Sans Everything "扩展.
谷歌看起来像这样:
但是,如果我使用无头模式(google-chrome --headless --disable-gpu --screenshot https://www.google.com)拍摄页面的屏幕截图,结果是:
google-chrome google-chrome-extension google-chrome-headless
我想在开发人员工具上获得网络面板的输出.[网络面板 - >名称,方法,状态,类型,Intiator,大小,时间,时间线]我需要这些信息.
networking selenium google-chrome-devtools selenium-webdriver
我希望使用Selenium Webdriver访问/使用Chrome的devtools面板.
具体来说,我想使用"WASP"chrome插件,可以通过devtools访问.我已经将我的selenium设置为包含WASP插件,并且我可以打开DevTools(使用sendKeys.F12),但我不知道如何实际使用该面板,因为它是打开的.有办法吗?
我发现最接近我的问题的是这个链接:Chrome Dev Tools API和Selenium WebDriver,但这对我来说根本没用.
此外,如果看起来这是不可能的(它确实如此),任何人都可以想到一个解决方法吗?
java selenium google-chrome google-chrome-devtools selenium-webdriver
众所周知,WebDriver协议是为自动化测试目的而设计的。但是主要的浏览器也提供DevTool协议。在某些情况下,与WebDriver相比,DevTool协议可以实现更强大的交互和操作。
我的问题是为什么会有两种不同的协议,这两种协议之间的主要区别是什么?有没有可供选择的项目开发经验可供分享?
提前致谢!
参考:
开发工具
WebDriver:
browser selenium webdriver google-chrome-devtools selenium-webdriver
我已经从源代码构建并安装了Selenium 4.0.0-beta-1 python 轮来测试CDP功能。具体来说,我想使用Fetch Domain 协议拦截请求。
我可以使用命令启用域Fetch.enable,但我不知道如何订阅Fetch.requestPaused等事件来拦截请求:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
driver = webdriver.Chrome()
# Enable Fetch domain
driver.execute_cdp_cmd('Fetch.enable', cmd_args={})
# How to subscribe to Fetch.requestPaused event??
# driver.add_cdp_event_listener ...
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我尝试在无头模式下通过 selenium 运行 chromedriver。
重要如果我消除以下代码行(但不是无头的),代码运行得非常好:
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
Run Code Online (Sandbox Code Playgroud)
这是我尝试实现无头参数时遇到的错误:
Traceback (most recent call last):
File "camel.py", line 83, in <module>
executable_path=executable_path)
File "/home/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "/home/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: failed to wait for extension background page to load: chrome-extension://jkompbllimaoekaogchhkmkdogpkhojg/_generated_background_page.html
from unknown error: …Run Code Online (Sandbox Code Playgroud) python selenium google-chrome-extension selenium-chromedriver google-chrome-headless