2017-05-09 105 views
0

我使用Python和硒铬司机点击这将打开一个打开的文件窗口中上传文件按钮,如图所示:Python中硒的webdriver关闭打开的文件窗口弹出

enter image description here

我的代码上传文件而不与窗口交互。我想要做的就是关闭这个窗口,但不知道如何去做这件事。

我读过类似问题的各种其他帖子,但没有找到真正给我的东西。我知道硒不能访问窗口,我读过我需要一个不同的模块来与它进行交互。什么是最好的方法来做到这一点?

+0

为什么你需要点击该上传文件按钮? – Andersson

+0

此解决方案可能是可行的解决方法:http://stackoverflow.com/a/10472542/563231 –

回答

0

解决方法

你需要把里面上传的根文件的元素。不要打开通过按钮上传,只需在里面插入/root/of/file/file.pdf使用Javascript输入上传值。请记住,这是我的解决方法...哈哈

+0

感谢您的建议。解决方法对我有好处。我真的不知道如何去使用JavaScript插入文件路径。你有什么建议吗?该按钮的HTML是: blountdj

+0

试试这个:'webdriver.executeScript(“document.getElementById('upl-81494336238627')。setAttribute('value','/root/of/file/file.pdf')”);' –

+0

Thanks @Guilherme lazzetta ,我一直在尝试这一段时间,但无法通过此错误: selenium.common.exceptions.WebDriverException:消息:未知错误:Runtime.evaluate抛出异常:SyntaxError:无效或意外的令牌 该行我使用的是:driver.execute_script(“document.getElementById('upl-81494350013226')。setAttrib ute('value','C:\\ Users \\ darren b \\ Desktop \\ eg.jpg') ;“) – blountdj

0

最后,我能够通过查找上传按钮并发送文件路径直接上传该项目到页面。

driver.find_element_by_xpath("//*[@id='upl-fileInp']").send_keys("C:/Users/user/folder/file.jpg") 
相关问题