2012-04-05 66 views
0

我使用webdriver的Selennium自動PDF下載按鈕的點擊。我用各種方式來按一下按鈕,但它似乎拋出一個JScript錯誤:Selenuim webdriver嘗試自動點擊鏈接按鈕?

Message: Unexpected call to method or property access. 
Line: 17 
Char: 29094 
Code: 0 
URI: http://uat.mysite.com/Scripts/jquery-1.6.2.min.js 

我的點擊代碼(這些都試過):

driver.findElement(By.xpath("//div/a[contains(text(), 'Download PDF')]")).click(); 

driver.findElement(By.xpath("//div[@class='paginationWrap']/a[@class='redBlock']")).click(); 

的html:

<div class='articleFoot'> 
    <div class='paginationWrap'> 
     <a class='redBlock' target="_blank" href='/DownloadMedia.aspx?media={625B459D-C085-48C5-931C-71BE03786236}'> 
      Download PDF 
      <span class='icon pdf'></span> 
     </a> 
    </div> 
</div> 

回答

0

這兩個xpath表達式可以。

如果來自jquery腳本的異常真的不是而不是(不是嗎?),那麼Selenium很可能無法真正下載文件。然而。

不過,除了HtmlUnitDriver(其行爲我不知道),瀏覽器應該爲您提供一個下載對話框。嘗試另一個驅動程序,然後在別處查找錯誤。

你可以做一些技巧來實現文件下載或者,我個人最喜歡的是this downloader,但也有像獲取和設置Download Statusbar到Firefox,一些Robot動等幾個方面。但你真的需要嗎?

+0

你是正確的問題是與Selenuim,DEOS無法處理下載的對話框。需要使用第三方工具。一種解決方案是http://qtp-help.blogspot.com/2009/07/selenium-handle-dialogs.html#comment-form。 – Chaka 2012-04-06 14:28:10