Selenium (python библиотека) не может загрузить с помощью функции send_keys - PullRequest
0 голосов
/ 03 мая 2020
def sendpdf():
    import selenium
    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get('https://www.docdroid.net/')
    upload_box=driver.find_element_by_id('select')
    #upload_box.send_keys('C:\Users\User\Desktop\MySql.pdf')
    upload_box.send_keys(r'C://Users/User/Desktop/Mysql2.pdf')

sendpdf()

Он открывает веб-сайт (DocDroid. net), но не загружает PDF-файл, который я отправляю через функцию send_keys (). Там нет никакой ошибки.

1 Ответ

0 голосов
/ 03 мая 2020

Как я уже упоминал в своем комментарии, вы хотите использовать send_keys() в файле <input>, а не <button>. Если вы перемещаетесь по DOM, вы обнаружите, что вход скрыт и имеет следующий класс dz-hidden-input.

Элемент ввода:.

<input type="file" multiple="multiple" class="dz-hidden-input" data-fillr-id="1634059288" style="visibility: hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">

Следующий код работает. Причина, по которой я перестал спать, заключается в том, что мне пришлось войти, или вы получите всплывающее окно с просьбой войти в систему.

from selenium import webdriver
import time
def sendpdf():
    driver=webdriver.Chrome()
    driver.get('https://www.docdroid.net/')
    time.sleep(30)
    upload_box=driver.find_element_by_class_name('dz-hidden-input')
    upload_box.send_keys(r'C://test.docx')
    time.sleep(30)

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