pau*_*eno 36 google-chrome google-chrome-extension google-chrome-headless
我无法使用无头模式在Google Chrome中使用我当前安装的扩展程序.有没有办法启用它们?
检查扩展是否有效的简单方法是添加,例如," Comic Sans Everything "扩展.
谷歌看起来像这样:
但是,如果我使用无头模式(google-chrome --headless --disable-gpu --screenshot https://www.google.com)拍摄页面的屏幕截图,结果是:
Xan*_*Xan 27
不,这是不可能的,由于任务的复杂性,Chrome开发人员决定不再在不久的将来实施它.
如果你看一下这个问题,你可能会认为他们仍然在考虑ChromeDriver的要求 - 但他们决定让ChromeDriver在没有扩展的情况下工作(通过DevTools).
Gra*_*ing 27
您可以使用Xvfb以无头扩展方式运行Chrome .
sudo dnf install xorg-x11-server-Xvfbxvfb-run google-chrome --remote-debugging-port=9222 --disable-gpu https://www.google.com更复杂,但确实有效.这就是我们用于无头镀铬扩展测试的内容.
MrK*_*vic 19
由于最近无头模式的变化,如果您遇到问题,您可能需要--headless=new使用--headless=chrome
options.add_argument("--headless=new")
Run Code Online (Sandbox Code Playgroud)
编辑: https: //www.selenium.dev/blog/2023/headless-is-going-away/
小智 15
事实上现在它可以工作了,他们修复了它。您可以使用
options.add_argument("--headless=chrome")Run Code Online (Sandbox Code Playgroud)
奇迹般有效。 https://bugs.chromium.org/p/chromium/issues/detail?id=706008#c36
您可以使用pyvirtualdisplay在服务器上以零显示运行 chrome。最好的事情是你可以使用这个技巧来运行扩展。
这是我的实现:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
chrome_options = Options()
chrome_options.add_extension("proxy.zip")
driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=chrome_options)
time.sleep(3)
driver.get("https://ipinfo.io/json")
print(driver.page_source)
driver.close()
display.stop()
Run Code Online (Sandbox Code Playgroud)
您需要xvfb在您的服务器/机器上安装:
sudo apt install -y xvfb
pip install pyvirtualdisplay
Run Code Online (Sandbox Code Playgroud)
在我的 AWS 服务器上运行它
| 归档时间: |
|
| 查看次数: |
15757 次 |
| 最近记录: |