Запуск Selenium с Chrome Webdriver без головы - PullRequest
0 голосов
/ 06 декабря 2018

Так что я пробую кое-что с селеном, и я действительно хочу, чтобы он был быстрым.

Так что я думаю, что запуск его без хрома сделает мой сценарий быстрее.

Во-первых, верно ли это предположение, или это не имеет значения, если я запускаю свой скрипт с драйвером без головы?

В любом случае, я все еще хочу заставить его работать, чтобы работать без головы, но я как-то не могу, я пробовал разныеи большинство предположили, что это будет работать, как сказано здесь, в октябрьском обновлении

Как настроить ChromeDriver для запуска браузера Chrome в режиме без головы через Selenium?

Но когда япопробуйте это, я получаю странный вывод на консоль, и он все еще не работает.

Любые подсказки приветствуются.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Если вы используете Linux, возможно, вам придется добавить --no-sandbox, а также определенные настройки размера окна.--no-sandbox не нужен в Windows, если вы правильно установили пользовательский контейнер.

disable-gpu Только в Windows.Другие платформы больше не требуют этого.Флаг --disable-gpu - временное решение для нескольких ошибок.

//Headless chrome browser and configure
            WebDriverManager.chromedriver().setup();
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.addArguments("--no-sandbox");
            chromeOptions.addArguments("--headless");
            chromeOptions.addArguments("disable-gpu");
//            chromeOptions.addArguments("window-size=1400,2100"); // linux should be activate
            driver = new ChromeDriver(chromeOptions);
0 голосов
/ 06 декабря 2018

Чтобы запустить Chrome-Headless, просто добавьте --headless через chrome_options.add_argument, то есть:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
#chrome_options.add_argument("--disable-extensions")
#chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)

start_url = "https://duckgo.com"
driver.get(start_url)
print(driver.page_source.encode("utf-8"))
driver.quit()

# b'<!DOCTYPE html><html xmlns="http://www....

Так что я думаю, что запуск с хромом без головы сделаетмой сценарий быстрее.

Попробуйте использовать параметры chrome, такие как --disable-extensions или --disable-gpu, и сравните их, но я не буду рассчитывать на значительное улучшение.


Ссылки: безголовый хром

Примечание. На сегодняшний день при работе без хрома должно включать--disable-gpu флаг, если вы работаете в Windows.См. crbug.com / 737678 .

...