#python #html #selenium
#python #HTML #selenium
Вопрос:
Итак, у меня есть код, который входит в Facebook и заполняет все необходимое для публикации элемента в marketplace, но я испытываю трудности с загрузкой изображений. Прежде всего, внутри «родительского тега» (div class =»aov4n071″) (первый div) нет входного тега:
Однако, когда я пробую эту строку кода:
ele = wait.until(EC.presence_of_element_located((By.XPATH,'//*[contains(text(), "Añadir fotos")]')))
ele.click()
Щелчок по элементу выполняется без каких-либо ошибок, и появляется диалоговое окно, в котором вам нужно вручную просмотреть вашу папку. КАК И ОЖИДАЛОСЬ. Однако, когда я отправляю_keys() в ele, он показывает:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <span class="a8c37x1j ni8dbmo4 stjgntxs l9j0dhe7 ltmttdrg g0qnabr5 oi732d6d ik7dh3pa d2edcug0 qv66sw1b c1et5uql muag1w35 ew0dbk1b jq4qci2q a3bd9o3v lrazzd5p oo9gr5id"> is not reachable by keyboard
Что понятно, потому что это не элемент ввода. Но где, черт возьми, входной тег??
Я обнаружил, что есть два входных класса, которые находятся прямо над «родительским» классом, о котором я говорил на первом рисунке. Но эти элементы не похожи на другие, когда я навожу на них курсор, они ведут себя не так, как другие элементы. Кажется, что они невидимы. (посмотрите, как они не окрашены, как другие)
Я попробовал эту строку кода:
ele = wait.until(EC.presence_of_element_located((By.CLASS_NAME,'mkhogb32')))
ele.send_keys(var)
Но это выдает мне эту ошибку:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <div class="eopy0mj9 ina5je9e kr520xx4 j9ispegn poy2od1o b5wmifdl mw227v9j n7fi1qx3 dya21fl7 a47luoao sbevj9st ev399l9o iwynql29 kuz35qqg mkhogb32"> is not reachable by keyboard
Но когда я пытаюсь это:
ele.click()
Я получаю следующую ошибку:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <div class="eopy0mj9 ina5je9e kr520xx4 j9ispegn poy2od1o b5wmifdl mw227v9j n7fi1qx3 dya21fl7 a47luoao sbevj9st ev399l9o iwynql29 kuz35qqg mkhogb32"> could not be scrolled into view
Я не очень разбираюсь в HTML, но могу сказать, что это теги, которые позволят мне загружать изображения, но почему они ведут себя по-другому?
Что я могу сделать, чтобы наконец загрузить изображения?
Входные теги находятся в другом фрейме?
Ответ №1:
этот код работает хорошо
POST="c:\maphoto.jpg"
l=navigateur.find_elements_by_tag_name('input')
for g in l:
if g==navigateur.find_element_by_xpath("//input[@type='file'][@class='mkhogb32']"):
g.send_keys(POST)
time.sleep(5)