0

我想在 selenium webdriver 代码的帮助下上传图像。任何人都可以帮助我。我将提供在我的应用程序中上传图像的步骤。

  1. 在我的应用程序中,“浏览”按钮显示在创建屏幕中。

  2. 单击浏览按钮后,将显示窗口页面。

  3. 我必须从窗口中选择一张图像,然后单击打开。

  4. 它将使用在图像字段中选择的图像名称重定向到我的应用程序。

  5. 图像字段不可编辑(它将采用您选择的图像的名称。)。

    我可以使用硒代码单击浏览按钮。

我的问题来了:窗口屏幕已打开。但我无法在窗口页面中进行交互(选择图像并单击打开按钮),因为没有火路。

谁能尽快帮助我解决问题?

4

3 回答 3

0

看看这篇博文,它对我有帮助。

在 Remote WebDriver 中上传文件

它使用本地或远程 webdriver 工作。现在我可以在 Chrome、IE 和 Firefox 上运行它。我不相信它适用于 Safari 驱动程序。

于 2013-03-27T13:01:16.630 回答
0

尝试这个 :

driver.findElement(By.id("btn_Browse")).click(); 
driver.findElement(By.id("logo")).sendKeys("c:\\ Image.jpg");
于 2013-10-28T13:32:13.827 回答
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.
于 2013-03-26T13:48:23.770 回答