Как Selenium находит кнопку в графическом браузере, но не находит ее в безголовом режиме с помощью ChromeDriver? ⇐ Python
Как Selenium находит кнопку в графическом браузере, но не находит ее в безголовом режиме с помощью ChromeDriver?
Я пытаюсь переписать этот код, чтобы включить безголовый режим в Selenium.
По сути, комментирование аргумента options.add_argument("--headless") работает, поскольку выводит 1 кнопку. Альтернативно, в безголовом режиме выводится 0 кнопок. Почему это происходит и какие есть решения. С уважением.
из веб-драйвера импорта селена из службы импорта selenium.webdriver.chrome.service из параметров импорта selenium.webdriver.chrome.options из webdriver_manager.chrome импортировать ChromeDriverManager время импорта опции = Параметры() options.add_argument("--headless") options.add_experimental_option("detach", True) # Оставляем окно открытым драйвер = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) driver.get("http://www.neuralnine.com/") driver.maximize_window() ссылки = driver.find_elements("xpath", "//a[@href]") по ссылке в ссылках: если «Книги» в link.get_attribute(»innerHTML»): #ссылка.клик() driver.execute_script('arguments[0].click();', ссылка) перерыв book_links = driver.find_elements("xpath", "//div[contains(@class, 'elementor-column-wrap')][.//h2[text()[contains(., '7 IN 1')]]][count(.//a) = 2]//а") для book_link в book_links: print(book_link.get_attribute("href")) driver.execute_script("arguments[0].click();", book_links[0]) #book_links[0].click() driver.switch_to.window(driver.window_handles[1]) время.сон(3) print("Перед поиском кнопок: ") button = driver.find_elements("xpath", "//a[.//span[text()[contains(., 'Paperback')]]]//span[text()[contains(., '$' )]]") print("После нахождения кнопок: ") print("Количество кнопок: ", len(кнопки)) для кнопки в кнопках: print("Диапазон цен:", button.get_attribute("innerHTML").replace('-', 'to'))```
Я пытаюсь переписать этот код, чтобы включить безголовый режим в Selenium.
По сути, комментирование аргумента options.add_argument("--headless") работает, поскольку выводит 1 кнопку. Альтернативно, в безголовом режиме выводится 0 кнопок. Почему это происходит и какие есть решения. С уважением.
из веб-драйвера импорта селена из службы импорта selenium.webdriver.chrome.service из параметров импорта selenium.webdriver.chrome.options из webdriver_manager.chrome импортировать ChromeDriverManager время импорта опции = Параметры() options.add_argument("--headless") options.add_experimental_option("detach", True) # Оставляем окно открытым драйвер = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) driver.get("http://www.neuralnine.com/") driver.maximize_window() ссылки = driver.find_elements("xpath", "//a[@href]") по ссылке в ссылках: если «Книги» в link.get_attribute(»innerHTML»): #ссылка.клик() driver.execute_script('arguments[0].click();', ссылка) перерыв book_links = driver.find_elements("xpath", "//div[contains(@class, 'elementor-column-wrap')][.//h2[text()[contains(., '7 IN 1')]]][count(.//a) = 2]//а") для book_link в book_links: print(book_link.get_attribute("href")) driver.execute_script("arguments[0].click();", book_links[0]) #book_links[0].click() driver.switch_to.window(driver.window_handles[1]) время.сон(3) print("Перед поиском кнопок: ") button = driver.find_elements("xpath", "//a[.//span[text()[contains(., 'Paperback')]]]//span[text()[contains(., '$' )]]") print("После нахождения кнопок: ") print("Количество кнопок: ", len(кнопки)) для кнопки в кнопках: print("Диапазон цен:", button.get_attribute("innerHTML").replace('-', 'to'))```
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как настроить ChromeDriver для запуска браузера Chrome в безголовом режиме через Selenium?
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-