Перейти к содержимому

Vladimir92

Регистрация: 21 окт 2020
Offline Активность: 23 ноя 2020 09:33
-----

Мои темы

Не находит элемент при использовании опции headless

21 октября 2020 - 08:50

Добрый день друзья!

Ситуация следующая: требуется заполнит поле логин на сайте gmail. 
Использую Python 3.8. и Selenium Webdriver.

Сценарий: 

  1. Запустить браузер
  2. Открыть страницу https://mail.google....il/?tab=wm
  3. Ввести логин

Если этот сценарий запускать без опции headless, то открывается браузер и всё отлично работает. Но если указываю эту опцию, то поле авторизации не находится.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By

options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome('F:\\for_X5\\chromedriver.exe', options=options)
driver.get('https://mail.google.com')
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR,
                                                                                'section.aTzEhb input[type=email]')))
element.clear()
element.send_keys('test@gmai.com')

 

 

В чем может быть проблема?
Я добавлял скриншоты и смотрел размеры в режиме headless (он составляет 800х600) - поле всегда видно. Могут ли использоваться другие классы при таких размерах?