我搜索了论坛,发现了一些有关此问题的信息,但不完全解决了我所面临的问题。我正在自动将文件上传到网站。不幸的是,该网站使用了一个计数器来识别"浏览"按钮。使用Selenium和Firebug,我能够找到另一种识别按钮的方法。我已将脚本导出到python中以添加变量,因此我可以自动执行。但是,浏览按钮会打开一个窗口弹出窗口以选择该文件。脚本就像这样开始......
driver.find_element_by_xpath("//*[@type=\"file\"]").click()
driver.find_element_by_id("upfile_1405369589849").clear()
driver.find_element_by_id("upfile_1405369589849").send_keys("path\\file")
driver.find_element_by_id("upload_button").click()
在此,单击上传按钮,弹出窗口,它就在那里嘲笑我。我尝试使用xpath代替id,但这并不起作用。我也试过以下......
driver.findElement(By.id()).send_keys("path\\file")
并尝试了这个......
driver.find_element_by_id("upfile_*").send_keys("path\\file")
除了它的嘲讽之外,我似乎无法让窗户作出回应。任何帮助压制这一点都将非常感激。
答案 0 :(得分:1)
无法完成。一种解决方法是让开发团队为您修改AUT。在页面中添加一个javascipt函数,允许您将文件名传递给处理程序,而无需单击“浏览”按钮。
如果你不能这样做,我建议你调查Sikuli,这将允许你使用模式识别(截图)与你想要交互的内容进行交互。