Не работает headless режим в selenium
я новичок в программирование и конкретно в selenium. Смотрю инструкции в интернете как сделать запуск в headless режиме и не один способ не помогает. Он просто пробегает, как будто игнорирует. Кода запускается и работает, но не в фоновом режиме. Прикрепил фрагмент кода, где самое начало и по идеи должно работать. Пометил хештегам все варианты что пробовал. Пробовал и до и после browser = webdriver.Chrome. Буду рад любым советам. Спасибо!
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from ds_ac import username, password
import time
import random
def login(username,password):
# options = webdriver.ChromeOptions()
# options.add_argument("--headles--")
# options.headless = True
# options.add_argument("headles")
# print('Проверка')
# time.sleep(5)
browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
# options = webdriver.ChromeOptions()
try:
browser.get('https://discord.com/login')
except Exception as ex:
print(ex)
browser.close()
browser.quit()
Ответы (2 шт):
На другом сайте есть ответ:
search = 'катарсис'
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://yandex.ru/')
s = driver.find_element_by_name('text')
s.send_keys(search)
s.submit()
driver.find_elements_by_class_name('organic__url-text')[2].click()
print(driver.title)
driver.quit()
Можете попробовать так, для вашего кода. Правда не знаю, какая у вас ОС, потому пришлось чуть помудрить. И да, драйвер лежит в директории скрипта, в папке chromedriver. То есть, аблсолютный путь к ней будет, для примера, такой: E:\Projects\chromedriver\chromedriver.exe. Ну и сам код:
import os
import random
import time
from platform import system
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from ds_ac import username, password
options = Options()
options.add_argument("--headless")
# options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
if system() == "Windows":
executable_path = os.path.join(os.getcwd(), 'chromedriver', 'chromedriver.exe')
elif system() == "Linux":
executable_path = os.path.join(os.getcwd(), 'chromedriver', 'chromedriver')
def login(username, password):
browser = webdriver.Chrome(options=options, service=Service(log_path=os.devnull, executable_path=executable_path))
try:
browser.get('https://discord.com/login')
except Exception as ex:
print(ex)
browser.close()
browser.quit()