我使用的是Google Chrome 114和Python 3.8以及Selenium v。4.0.0安装到Ubuntu服务器上。
这是我的代码,工作完美
class Chrome:
def __init__(self):
self.s = ChromeService(DRIVER_PATH, log_path=GECKO_LOG_PATH)
self.chrome_options = Options()
self.chrome_options.add_argument("--headless")
self.chrome_options.add_argument("start-maximized")
self.chrome_options.add_argument("disable-infobars")
self.chrome_options.add_experimental_option(
"excludeSwitches",
[
'enable-automation',
'disable-default-apps',
'disable-translate'
]
)
self.chrome_options.add_argument("--disable-extensions")
self.chrome_options.add_argument("--window-size=1920,1080")
self.chrome_options.add_argument("--lang=en")
prefs = {
"translate_whitelists": {
"en":"es",
"jp":"es",
},
"translate":{"enabled":"true"},
}
self.chrome_options.add_experimental_option("prefs", prefs)
由于我不能在没有桌面环境的ubuntu服务器上使用它,我不得不在无头模式下启动Chrome,但没有自动翻译功能。
我的问题是:
1.如何在无头模式下启用自动翻译?
1.否则,有没有办法在没有桌面环境的服务器上以head模式运行Chrome?
谢谢.
1条答案
按热度按时间x0fgdtte1#
您可以使用虚拟显示器在无头显示器上以有头模式运行selenium,这应该可以解决您的问题。
Python虚拟显示有两个流行的库:
下面是一个使用
sbvirtualdisplay
的例子:如果要确保停止显示,即使脚本在显示结束前失败,也要使用上下文管理器格式: