2012-04-05 63 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