Импорт изображения в формы Google с помощью драйвера селена в Python - PullRequest
1 голос
/ 14 июня 2019

Я пытаюсь импортировать изображение в форму Google.Я не могу передать ключи к элементу через xpath.Кажется, это скрытый элемент.

Я пытался выполнить сценарии, чтобы показать его, но безуспешно.Также пробовал это решение: Как получить доступ к скрытому полю загрузки файла с помощью Selenium WebDriver python

Python-Selenium "тип файла ввода" upload

У кого-нибудь есть способ импортировать в формы Google через диалоговое окно перетаскивания файла.

Обычно я получаю сообщение об ошибке:

NoSuchElementException: no such element: Unable to locate element:

Я отправляю псевдокод:

from selenium import webdriver


browser = webdriver.Chrome()




browser.get('ANY GOOGLE FORM URL')


browser.find_element_by_xpath('//*[@id="mG61Hd"]/div/div[2]/div[2]/div[5]/div/div[3]/span/span').click()


fileinput = browser.find_element_by_xpath("//div[contains(@class,'Nf-Er-Xr')]")
fileinput.send_keys('some image path')

1 Ответ

0 голосов
/ 14 июня 2019

При нажатии кнопки ДОБАВИТЬ ФАЙЛ в Google Forms открывается всплывающее окно, которое представляет собой iframe.iframe - это в основном HTML-страница, встроенная в другую.Чтобы что-то с этим сделать, вы должны сказать Selenium переключить контекст на iframe.

Отметьте этот ТАК вопрос, который объясняет, как вы будете переключать контекст на iframe.Для вашего конкретного случая, например Google Forms, код будет -

iframe = driver.find_element_by_class_name('picker-frame')
driver.switch_to.frame(iframe)
input_field = driver.find_element_by_xpath('//input[@type="file"]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...