Безголовый селен вдруг перестал работать - PullRequest
1 голос
/ 21 марта 2019

Я уже несколько недель использую Selenium и python для работы в сети. Это работало довольно хорошо. Работал на macOS и windows 7. Однако внезапно перестал работать безголовый веб-драйвер. Я использовал chromedriver со следующими настройками:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(chrome_options=options)

driver.get('url')

Изначально мне пришлось добавить аргументы window, gpu и sandbox, чтобы все заработало, и до сих пор это работало. Однако при запуске скрипта он застревает в файле driver.get ('url'). Это не приводит к ошибке или что-то кажется, что работает бесконечно. Когда я бегу без головы и просто бегаю:

from selenium import webdriver
driver = webdriver.Chrome()

driver.get('url')

работает точно так, как задумано Эта проблема также изолирована для моей машины Windows. С чего начать?

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Решено

По какой-то причине настройки прокси замедлили его.Поэтому это было решено добавлением:

options.add_argument(f'--proxy-server={None}')
0 голосов
/ 24 марта 2019

Обновление!

Я провел еще несколько испытаний и понял, что это похоже на работу. Однако для запуска driver.get ('url') требуется так много времени, что это выглядит как бесконечная загрузка. Между тем, он работает безупречно на моем macOS, поэтому проблема заключается в том, чтобы работать без окон в Windows. В приведенном ниже примере требуется> 10 секунд, чтобы просто открыть Google, а затем выйти. Что может вызвать это?

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(options=options, executable_path=r'C:\Program Files (x86)\Python37-32\chromedriver.exe')

driver.get('http://google.com/')
print("Headless Chrome Initialized on Windows OS")

print('Hello world')
driver.quit()
...