2016-02-22 42 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()以使结果可见。(并且网站弹出成功消息但未收到电子邮件:(。)您的代码应该是正确的。 –