我正在尝试自动化测试一个网站,其中有一个需要填写表单并下载 Excel 表格的功能。数据是通过 HTTP 请求进行提交的。由于出现了“打开/保存对话框”,我使用了 urllib2 来使 URL 正常工作,但是会弹出下载表格的窗口。
因此,我开始使用 selenium 来处理这个特性,但是涉及到 JavaScript 函数,我无法向其传递值。
这是我在使用 calendarDateInput.js 日期选择器时遇到的问题,其中一个函数如下:
<td align="center"><script>DateInput('startDate', true, 'YYYY-MM-DD')</script> </td>
我需要通过selenium传递自己的日期,尝试了以下方法:
首先,我尝试用以下代码:
driver.find_element_by_id("endDate_Year_ID").clear()
driver.find_element_by_id("endDate_Year_ID").send_keys("2013")
由于它无法正常工作,所以我转而使用JavaScript。
browser.execute_script("document.getElementById('endDate_Year_ID').value = '2013'")
数值未被填充,我卡在这里了。
在机械臂或urllib2中是否有其他处理对话框以保存文件或任何其他模块的方式,在Python中可以处理JavaScript?
我正在Linux机器上进行此测试,并且send_keys无法在任何网站上工作。
非常感谢您的帮助。