0

大量のアップロード スレッドを調べましたが、答えを見つけることができませんでした。誰か助けてください。PC から Web サイトにアップロードするファイルを選択できる参照ボタンがあります。これは、Web サイトの参照ボタンがある html コードです。

<input id="contentFileInput" width="110" type="file" height="30" name="contentFileInput" style="display: none;">
<object id="contentFileInputUploader" width="110" height="30" type="application/x-shockwave-flash" data="../../Scripts/uploadify.swf" style="visibility: visible;">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="uploadifyID=contentFileInput&pagepath=/Content/&script=/Content/AsyncUpload/&folder=&width=110&height=30&wmode=opaque&method=POST&queueSizeLimit=999&simUploadLimit=1&fileDesc=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&fileExt=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&auto=true&sizeLimit=1258291200&fileDataName=Filedata">
</object>

私が試した: WebElement elem = driver.findElement(By.xpath("//*[@id='contentFileInputUploader']")); elem.sendKeys("C:///video/file.flv");

しかし、それは何もしません。参照ボタンにカーソルを合わせると、ff の firepath から xpath を取得しました。誰かが私に何ができるか提案してもらえますか? 私は本当に立ち往生しています。前もって感謝します。

4

1 に答える 1

0

ボタンではなく、ファイル入力で sendKeys() を使用する必要があります。例の html では、次を使用する必要があります。

findElement(By.id("contentFileInput"))

それ以外の

findElement(By.xpath("//*[@id='contentFileInputUploader']"))

問題が解決しない場合は、次を参照してください。

http://saucelabs.com/blog/index.php/2012/03/selenium-tips-uploading-files-in-remote-webdriver

于 2012-05-17T14:55:56.263 に答える