2012-04-05 2 views
0

Я использую Selennium Webdriver для автоматизации нажатия кнопки загрузки PDF. Я использовал различные способы, чтобы нажать на кнопку, но это, кажется, бросить ошибку JScript:Selenuim webdriver пытается автоматизировать кнопку clickbutton?

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

Смежные вопросы