2017-05-09 166 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") 
相關問題