2012-04-05 4 views
0

Ich benutze Segental Webdriver, um einen Klick auf einen PDF-Download-Button zu automatisieren. Ich habe verschiedene Möglichkeiten, um die Schaltfläche klicken, aber es scheint ein JScript Fehler zu werfen:Selenuim Webdriver versucht, einen Klick Linkbutton zu automatisieren?

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 

Mein Klick-Code (versucht, diese beiden):

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

oder

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

Die 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> 

Antwort

0

Beide von diesen XPath-Ausdrücke sind in Ordnung.

Wenn die Ausnahme ist wirklich nicht aus dem Skript jquery (ist es nicht?), Dann ist es am wahrscheinlichsten, dass Selen nicht wirklich Dateien herunterladen kann. Noch.

Noch, neben dem HtmlUnitDriver (dessen Verhalten ich nicht kenne), sollte der Browser Ihnen einen Download-Dialog anbieten. Versuchen Sie es mit einem anderen Treiber, und suchen Sie an anderer Stelle nach Fehlern.

Sie können einige Tricks eine Datei herunterladen alternativ mein persönlicher Favorit this downloader zu erreichen, aber es gibt ein paar Möglichkeiten, wie immer und Download Statusbar in Firefox einrichten, einige Robot bewegt und so weiter. Aber musst du das wirklich?

+0

Sie haben Recht, das Problem ist mit Selenuim, Deos nicht mit Download-Dialogen. Benötigt, um ein Drittanbieter-Tool zu verwenden. Eine Lösung ist http://qtp-help.blogspot.com/2009/07/selenium-handle-dialogs.html#comment-form. – Chaka

Verwandte Themen