Загрузка изображения через Selenium в строке поиска Alibaba.com - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь загрузить изображение для поиска изображений www.alibaba.com через send_keys. Я хочу сделать это в автономном браузере, поэтому подход Autoit не будет работать.

Кнопка загрузки активна, но позволяет принимать данные send_keys.

    url =  'https://www.alibaba.com/'
    browser = webdriver.Chrome()
    browser.implicitly_wait(20) # seconds
    browser.get(url)
    element = browser.find_element_by_class_name("ui-searchbar-imgsearch-icon")
    element.click()
    element2 = browser.find_element_by_class_name("upload-btn")
    path = "filepath"
    element2.send_keys(path)

Я получаю сообщение ElementNotInteractableException

Кнопка загрузки DOM

Есть ли другой способ загрузки изображения без открытия всплывающего окна файловой системы?

1 Ответ

0 голосов
/ 22 октября 2019

Вам нужно будет отправить ключи на input с элементом type='file', а не кнопкой Upload Image. input также скрыт, поэтому вам необходимо выполнить Javascript, чтобы открыть его, прежде чем вы сможете отправлять ключи:

url =  'https://www.alibaba.com/'
browser = webdriver.Chrome()
browser.implicitly_wait(20) # seconds
browser.get(url)
element = browser.find_element_by_class_name("ui-searchbar-imgsearch-icon")
element.click()

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

# reveal the input element
browser.execute_script("arguments[0].style.display = 'block';", input)

# send keys for file path to input element
input.send_keys(path)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...