我有一个小型的Python应用程序,只需用Selenium和FFmpeg记录网页/网页动画。直到昨天一直像魅力一样工作。
似乎Google已删除了“--disable-infobars”功能。可以从另一个标志或功能禁用它吗?
或者我是否被迫在顶部添加填充并从填充中记录?
以下是示例代码
#!/usr/bin/env python3
from pyvirtualdisplay import Display
import os
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
url = "http://foo.bar"
os.environ['DISPLAY'] = ':99'
display = Display(visible=0, size=(1920, 1080))
display.start()
display_port = os.environ['DISPLAY']
chrome_driver_path = "/usr/local/bin/chromedriver"
options = webdriver.ChromeOptions()
options.add_argument('--disable-gpu')
options.add_argument('--kiosk')
options.add_argument('--window-position=0,0')
options.add_argument('--disable-infobars');
options.add_argument('--window-size=1920,1080')
browser = webdriver.Chrome(executable_path=chrome_driver_path, chrome_options=options)
browser.get(url)
command = "/home/fidox/bin/ffmpeg -r 60 -t {} -video_size {}x{} -framerate 60 -f x11grab -i foo.mp4 f-an {}".format(10,1920,1080,display_port)
os.system(command)
self.browser.quit()
display.stop()
答案 0 :(得分:1)
对于Python3。
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("useAutomationExtension", False)
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options=chrome_options)
答案 1 :(得分:0)
您是否更新到Chrome 65?如果你去查看Chrome,它会自动更新。 Chromedriver在Chrome 65中显示已损坏。您可以卸载并重新安装Chrome 64。
答案 2 :(得分:0)
disable-infobars
标志已被删除,但您可以通过添加以下内容来删除该消息:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("excludeSwitches",Collections.singletonList("enable-automation"));
WebDriver driver = new ChromeDriver(options);
这项工作对我而言,我也希望对你有用。
不知道如何在python中执行此操作。 请相应地转换上面的代码。