那么我知道硒世界充满了文件上传线程,这是我今天碰到的并且到目前为止还没有能够解决的问题。尽管通过使用FF浏览器输入文件上传的文件输入文本框来解决了这些问题。Selenium2 +另一个文件上传
所以首先没有文件输入框。它只是一个按钮,它会弹出一个选择文件的文件,只要您选择文件,上传就会自动启动。 HTML看起来像 -
<div id="container" style="position: relative;">
<div id="filelist"></div>
<br>
<a id="pickfiles">
<input type="button" name="Photos" value="Pick a File"></a>
<div id="p15tlsibt1185d1pi41tbd16c31a0n0_flash_container" style="position: absolute; top: 21px; background: none repeat scroll 0% 0% transparent; z-index: 99999; width: 86px; height: 18px; left: 0px;" class="plupload flash"><object width="100%" height="100%" data="/CKFinder/upload/content/runtimes/plupload.flash.swf" type="application/x-shockwave-flash" style="outline: 0pt none; background-color: transparent;" id="p15tlsibt1185d1pi41tbd16c31a0n0_flash"><param value="/CKFinder/upload/content/runtimes/plupload.flash.swf" name="movie"><param value="id=p15tlsibt1185d1pi41tbd16c31a0n0" name="flashvars"><param value="transparent" name="wmode"><param value="always" name="allowscriptaccess"></object></div></div>
所以我尝试使用id /名称等点击,但无济于事。我试过这样的点击 -
Commons.clickById(webDriver, "pickfiles")
但是页面上没有任何反应。
我也尝试 - 代码片段贴在这里,它使用Java脚本exectuion -
cant click button which opens file attachment dialog
,但无济于事。我总是遇到错误陈述 -
System.InvalidOperationException : arguments[0].click is not a function (UnexpectedJavaScriptError)
有什么建议吗?
我能够点击按钮,因为我之前通过错误的会话是错误的。尽管点击按钮并不能解决问题,因为我需要在弹出的窗口中点击文件进行选择,并且文件结构在机器之间不会保持不变。我想用后台调用来执行文件上传,可能会使用HTMLUnit而不是浏览器。但是,但我需要选择文件....一些如何... – Tarun 2011-04-19 09:13:49
看起来像我非常严重坚持这一点, 有没有输入框键入文件路径和选择文件从弹出窗口是非常糟糕的执行:( – Tarun 2011-04-19 13:56:56