处理无焦点的浏览器对话框窗口

时间:2018-04-10 07:37:42

标签: selenium-webdriver selenium-chromedriver autoit

我有一个基于Selenium WebDriver的脚本来自动上传文件。它逐个上传文件列表。我使用AutoIT脚本来处理对话窗口,文件选择器窗口。参数$CmdLine[1]包含实际文件的路径。

ControlFocus("Open a file","","Edit1")
ControlSetText("Open a file","","Edit1", $CmdLine[1])
ControlClick("Open a file","","Button1")

我从Java代码执行它,如下所示:

Runtime.getRuntime().exec(autoITExecutable);

它会打开对话框窗口,因此如果不关注浏览器窗口就无法工作。

文件上传字段就像这个演示一样: https://encodable.com/uploaddemo/

2 个答案:

答案 0 :(得分:2)

我为你提供的链接运行了简单的脚本,效果很好

import os
from selenium import webdriver

driver = webdriver.Chrome()

driver.get("https://encodable.com/uploaddemo/")

driver.find_element_by_name("uploadname1").send_keys(os.getcwd() + "/test.csv")

driver.find_element_by_name("email_address").send_keys("none@getnada.com")
driver.find_element_by_name("first_name").send_keys("Tarun")
driver.find_element_by_id("uploadbutton").click()

uploaded

答案 1 :(得分:0)

尝试使用类似格式的代码,如下所示,然后尝试:

java.lang.NullPointerException