我想借助selenium webdriver code上传图片。任何人都可以帮助我。我将提供在我的应用程序中上传图片的步骤。
图像字段不可编辑(它将采用您选择的图像的名称。)。
我可以点击带有selenium代码的浏览按钮。
这里有我的问题:窗口屏幕被打开。但由于没有火道,我无法在窗口页面中进行交互(选择图像并单击打开按钮)。
任何人都可以尽快帮助我解决问题吗?
答案 0 :(得分:0)
在使用selenium时使用Autoit处理文件上传窗口。请按照以下步骤操作。
1)下载Autoit并安装它。
2)然后在记事本中写下以下代码。将以下代码中的文件路径更改为您尝试从selenium脚本上载的文件路径。将其另存为uploadhandler.au3
。请注意,扩展名应为au3。
WinActivate("Choose file");
Local $file = "c:\yourpath\howtoupload.doc"
ControlSetText("Choose file", "", "Edit1", $file )
ControlClick("Choose file", "", "Button2")
3)右键单击该保存的脚本文件,然后从上下文菜单中单击“编译脚本”。这将生成uploadhandler.exe
文件。
4)将此uploadhandler.exe文件放在本地驱动器中,并在您的selenium-java代码中运行此exe文件,无论您需要使用以下代码上传文件。
Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");
例如: -
driver.findelement(byid("browse")).click();
Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");
//rest of your selenium code continues here.
答案 1 :(得分:0)
看一下这篇博客文章,它帮助了我。
Uploading Files in Remote WebDriver
它使用本地或远程webdriver。现在我有它在Chrome,IE和Firefox上工作。我不相信它适用于Safari驱动程序。
答案 2 :(得分:0)
试试这个:
driver.findElement(By.id("btn_Browse")).click();
driver.findElement(By.id("logo")).sendKeys("c:\\ Image.jpg");