2016-05-13 78 views
1

我使用Selenium和AutoIT将图像上传到网站。 现在我需要从Firefox的“文件上传”窗口中选择一个文件,然后点击回车。 所以这是代码的AutoIt的部分:使用AutoIt Python将数据发送到窗口

driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div/div/ul[1]/li/button").click() 
    autoit.win_wait_active("File Upload", 5) 
    autoit.send(os.path.join(mpath,"1.jpg")) 
    autoit.send("{ENTER}") 

这个脚本工作正常 现在的问题是窗口需要在我的计算机上活动,以使要上传的文件,所以我不能做任何脚本运行时的其他工作。 如何在不激活窗口的情况下发送相同的数据?

+0

您是否尝试过机器人的方法? –

+0

Selenium支持文件上传,不需要使用AutoIt。 –

+0

@Florent B.我不认为Selenium支持通过窗口上传文件。我的意思是,就阅读文档而言,我无法使用Selenium选择Firefox上传窗口。 – user2726634

回答

1

用这个代替:

autoit.win_wait("[CLASS:#32770;TITLE:Open]", 60) 
    autoit.control_send("[CLASS:#32770;TITLE:Open]", "Edit1", os.path.join(mpath,"1.jpg")) 
    autoit.control_click("[CLASS:#32770;TITLE:Open]", "Button1") 
相关问题