Ошибка ElementNotInteractableException при использовании опции без головы - PullRequest
1 голос
/ 13 июля 2020

Я получаю сообщение об ошибке, когда пытаюсь запустить, скажем, код ниже.

Ошибка:

ElementNotInteractableException: Сообщение: элемент не взаимодействует (Информация о сеансе: headless chrome = 83.0.4103.116)

Похоже, это происходит из-за chromeOptions.add_argument("--headless"). Как мы проверяем элементы, если мы используем этот аргумент? Обратите внимание, что имя веб-сайта, указанное в коде, является фиктивным.

Также есть способ открыть веб-страницу в существующем открытом экземпляре браузера вместо использования нового?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time

chromeOptions=Options()
chromeOptions.add_argument("--ignore-certificate-errors")
chromeOptions.add_argument("--incognito")
chromeOptions.add_argument("--headless")

driver = webdriver.Chrome(executable_path=r"C:/Users/lenovo/Downloads/chromedriver_win32/chromedriver.exe",options=chromeOptions)
driver.get("https://abcd.com")
ele=driver.find_element_by_name('q')
time.sleep(10)
ele.clear()

1 Ответ

1 голос
/ 13 июля 2020

Попробуйте установить размер окна, а также безголовый. Добавьте это:

chromeOptions.add_argument("--window-size=1920,1080")

Размер по умолчанию безголового браузера крошечный. Если код работает, когда безголовый режим не включен, это может быть связано с тем, что ваш объект находится за окном.

[редактировать - обновлено на основе обратной связи, что указанное выше не работает]

Ответ на ваш вопрос вместо того, чтобы пытаться решить вашу проблему.

Либо добавьте это к своим параметрам:

--remote-debugging-port=9222

Или запустите chrome (без хромированного драйвера) локально:

chrome --headless --remote-debugging-port=9222 --disable-gpu https://www.google.com

Затем откройте новый chrome (или вкладку) и go на http://localhost: 9222 /

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...