Файл загрузки Selenium - элемент не взаимодействует - PullRequest
0 голосов
/ 02 июня 2019

Мне нужно передать "C: \ temp \ register.xlsx" в окно загрузки при его открытии, используя web-драйвер selenium с использованием python, однако, поскольку я новичок в selenium и html, я не могу правильно понятькакие элементы из HTML мне нужно взять и как правильно его отформатировать.Я нахожусь на Windows 10 с использованием Chrome и Python 3.

Я исследовал и нашел некоторые подсказки вокруг скрытых объектов HTML, однако я пробовал альтернативы без особого критерия.

from selenium import webdriver

browser = webdriver.Chrome(executable_path='C:\\Drivers\\chromedriver.exe')
browser.get('https://someinternalsite.int/')

browser.find_element_by_name('txtUsername').send_keys('user')
browser.find_element_by_name('txtPassword').send_keys('pass')
browser.find_element_by_name('cmdLogin').click()
browser.get('https://user@someinternalsite.int/next/adm/exportacion/exportboletines/')
browser.find_element_by_name('TxtFechaDesde.Text')
browser.find_element_by_name('TxtFechaHasta.Text')

file_input = browser.find_element_by_xpath('//*[@id="FileAdjunto_lisearch"]')
browser.execute_script('arguments[0].style = ""; arguments[0].style.display = "block"; arguments[0].style.visibility = "visible";', file_input)
file_input.send_keys("C:\temp\register.xlsx")

ВотHTML-элемент скопирован:

<li id="FileAdjunto_lisearch"><button class="mv-btn-xs mv-btn--rounded mv-btn--outline mv-btn--primary mv-control--file__search mv-media__btn mv-btn" data-action="" id="FileAdjunto_Search_Id_Main_Container" tabindex="-1" title="Cargar" type="button"><i aria-hidden="true" class="mv-icon--search mv-icon "></i></button></li>

, но я даже не знаю, является ли эта часть HTML-кода правильной, откуда я должен получить элементы.

Когда придет времяоткрыв окно загрузки, я получаю следующее: "selenium.common.exceptions.ElementNotInteractableException: Message: element not взаимодействующий"

Любая помощь будет принята с благодарностью.

спасибо

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