загрузка файла без элемента в Selenium

#python #python-3.x #selenium #web #automation

Вопрос:

Я пытаюсь автоматизировать процесс загрузки фотографий на remove.bg но я не могу найти поле ввода для файла в элементах проверки. Я знаю, что с помощью ввода и send_keys мы можем автоматизировать это, но что мне делать в этом случае, когда поле ввода не видно. Это то, что я пробовал до сих пор.

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

driver = webdriver.Firefox()
test = driver.get("https://www.remove.bg/upload")

input = driver.find_element_by_xpath('//input[@type="file"]')
print (input)

 

Комментарии:

1. Почему бы не использовать их API, когда он у них есть?

2. @Leemosh Я делаю это как забавный проект по изучению селена. Я знаю, что могу использовать API, но я не предпочитаю его для этого проекта.

3. И каким должно быть ожидаемое поведение? Из того, что я вижу, вам просто нужно найти правильный XPath к кнопке, а затем продолжить. Или вы ожидаете чего-то другого?

4. Вы можете увидеть, как элемент <тип ввода=’файл’> появляется (вводится с помощью javascript) после взаимодействия с DOM… (например: после нажатия кнопки «обзор» или после перетаскивания).

Ответ №1:

Не могли бы вы, пожалуйста, попробовать следующий xpath, чтобы нажать кнопку «Загрузить», потому что на этом веб-сайте нет тега ввода.

 //button[contains(text(),'Upload Image')]