2016-02-22 3 views
3

Я пытаюсь использовать селен для имитации моего действия на веб-сайте для преобразования файлов PDF в файлы EXCEL. Для завершения преобразования необходимо выполнить три этапа:Python Selenium: click() не может инициировать событие

  1. Загрузить файл в формате PDF.
  2. Введите адрес электронной почты.
  3. Нажмите кнопку «конвертировать».

Я написал код, как показано ниже. Однако каждый раз, когда я нажимаю кнопку, страница просто обновляется без фактического преобразования файла.

from selenium import webdriver 
import time 

driver = webdriver.Chrome() 
driver.get("https://pdftoexcelonline.com/en/") 

# Upload file 
el_upload = driver.find_element_by_name("file") 
el_upload.send_keys("/path/to/the/file") 

# Input email 
el_email = driver.find_element_by_name("email") 
el_email.clear() 
el_email.send_keys("<email address>") 

# Convert button 
el_button = driver.find_element_by_id("convert_now") 
el_button.click() 
time.sleep(10) 

driver.close() 

Эта страница хорошо работает, когда я выполнил шаги вручную. Какова причина того, что мой код не инициировал преобразование?

ответ

0

Одна из возможных причин - недостаточно времени выполнения. Вы можете добавить некоторый сон после каждого действия для проверки. Рассматривайте это как обходное решение, если работа.

+0

Спасибо. Но в моем случае после добавления «time.sleep (5)» до и после каждого действия проблема остается. Наверное, здесь есть и другие проблемы. – zwcikyf

+0

На самом деле код работает очень хорошо в моем ноутбуке. Единственное крошечное различие: я удаляю driver.close(), чтобы сделать результат видимым. (И сообщение об успешном всплытии сайта, но не полученное письмо :(.) Ваш код должен быть правильным. –

Смежные вопросы