有没有一种方法可以使用硒网络驱动程序而不显示浏览器?

时间:2020-06-02 20:12:34

标签: python selenium selenium-webdriver selenium-chromedriver google-chrome-headless

我尝试在此站点上搜索解决方案,因为存在与我的问题几乎相同的问题。不幸的是,这对我没有用。下面的代码是我现在拥有的...是否可以在不实际显示过程的情况下启动webdriver?

# Options
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')


# Gegevens
password = input("Please give us a password you want to use for all your account(s): ")


# Start de driver
url = 'https://twitter.com/?lang=en-gb'
driver = webdriver.Chrome('/Users/ducov/Downloads/chromedriver')
driver = webdriver.Chrome(chrome_options=options)
driver.set_window_size(1600, 800)
driver.get(url)

编辑: 我通过替换答案中的代码来修复它:

driver = webdriver.Chrome('/Users/ducov/Downloads/chromedriver')
driver = webdriver.Chrome(chrome_options=options)

我仍然收到错误消息:

C:/Users/ducov/PycharmProjects/bot/app.py:18: DeprecationWarning: use options instead of chrome_options
  driver = webdriver.Chrome('/Users/ducov/Downloads/chromedriver', chrome_options=options)

但我认为这不重要

2 个答案:

答案 0 :(得分:1)

您应将execute_pathchrome_options放在同一行。

driver = webdriver.Chrome('/Users/ducov/Downloads/chromedriver', chrome_options=options)

ps:在您的代码中,您运行2个Chrome实例,一个是webdriver.Chrome('/Users/ducov/Downloads/chromedriver'),另一个是webdriver.Chrome(chrome_options=options)

答案 1 :(得分:1)

你已经足够亲密了。

首先,chrome_options已过时,您必须改为使用options

  • Implementation

    if chrome_options:
        warnings.warn('use options instead of chrome_options', DeprecationWarning)
        options = chrome_options
    

第二,您只想初始化单个 Chrome 浏览上下文,因此您需要在单个 ChromeDriver / Chrome 中传递两个参数>初始化程序如下:

# Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

# Gegevens
password = input("Please give us a password you want to use for all your account(s): ")

# Start de driver
url = 'https://twitter.com/?lang=en-gb'
driver = webdriver.Chrome(executable_path='/Users/ducov/Downloads/chromedriver', options=chrome_options)
driver.set_window_size(1600, 800)
driver.get(url)