1

誰でもこのhtmlページをチェックしてください。ここの [参照] ボタンをクリックできません。私は次のことを試しました:-

//1st approach
>driver.switchTo().frame(0)
>driver.findElement(By.id("File1")).click

//2nd Approach
>(new Actions).moveToElement(..).sendKeys("Keys.ENTER") // with this i could 

//3rd by executing JS in webdriver
>document.findElementById('').value = 'C://.. ' ;

何も機能していないようです。誰でも助けてもらえますか?

4

3 に答える 3

1

これを試して

driver.switchTo().frame(driver.findElement(By.xpath("//*[contains(@src,'/convert-pdf/default.aspx')]")));
driver.findElement(By.id("File1")).sendKeys("C:\\testFile.xls");
于 2012-12-26T07:35:30.450 に答える
0

フレームはIDEで識別されません。可能な方法は「AutoIT」でそれを行うことです。試してみましたが、うまくいきました。autoitのサンプルコードは次のとおりです

Send("{ENTER}") Sleep(1000) Send("D:\questiontovetri.txt") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{ENTER}") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{TAB}") Sleep(1000) Send("{ENTER}") Sleep(1000)

autoITを使用するには、それをダウンロードする必要があります。支援が必要な場合は、「 http://veera-myseleniumblog.blogspot.com/2011/11/handling-authentication-dialog-box.html 」を参照してください。

autoITスクリプトを変換したら、次のようなJavaコードでexeを呼び出すことができます。

driver.get("http://www.pdfonline.com/convert-pdf/"); driver.findElement(By.xpath("//a[contains(text(),'Upload a File to Convert...')]")).click(); Runtime run = Runtime.getRuntime(); Process pp=run.exec("D:\\blog.exe"); Thread.sleep(5000); driver.findElement(By.xpath("//a[contains(text(),'Download PDF file')]")).click();

これは機能していて、私はそれをテストしました

于 2013-03-15T12:47:49.287 に答える
0
  1. あなたdriver.findElement(By.id("File1")).click()最後に行方不明です。
  2. このページには、アクセスできない可能性があるエラーがありますiframe:

安全でない JavaScript が、URL http://www.pdfonline.com/convertのフレームから URL http://bcldoc2pdflb-1026005913.us-west-1.elb.amazonaws.com/convert-pdf/default.aspxのフレームにアクセスしようとしています。 -pdf/default-b.aspx?utm_expid=127285-27&utm_referrer=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F14031004%2Funable-to-click-file-upload-in-webdriver . ドメイン、プロトコル、およびポートが一致する必要があります。

手動で (ブラウザの開発ツールの JavaScript コンソールを使用して) 要素を取得しようとしましたが、iframe に到達できませんでした:

f = document.evaluate("//*[contains(@src,'/convert-pdf/default.aspx')]", document, null, XPathResult.ANY_TYPE, null)
XPathResult
ifr = f.iterateNext()
<iframe src=​"http:​/​/​bcldoc2pdflb-1026005913.us-west-1.elb.amazonaws.com/​convert-pdf/​default.aspx" width=​"460px" height=​"670px" frameborder=​"0">​…​&lt;/iframe>​
ifr.contentDocument
Unsafe JavaScript attempt to access frame with URL http://bcldoc2pdflb-1026005913.us-west-1.elb.amazonaws.com/convert-pdf/default.aspx from frame with URL http://www.pdfonline.com/convert-pdf/default-b.aspx?utm_expid=127285-27&utm_referrer=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F14031004%2Funable-to-click-file-upload-in-webdriver. Domains, protocols and ports must match.
null
d = ifr.contentWindow.document
Unsafe JavaScript attempt to access frame with URL http://bcldoc2pdflb-1026005913.us-west-1.elb.amazonaws.com/convert-pdf/default.aspx from frame with URL http://www.pdfonline.com/convert-pdf/default-b.aspx?utm_expid=127285-27&utm_referrer=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F14031004%2Funable-to-click-file-upload-in-webdriver. Domains, protocols and ports must match.
于 2012-12-26T16:36:16.843 に答える