2015-07-20 3 views
0

Вот код:Как я могу щелкнуть ссылку href в Selenium?

<div class="padding"> 
     <a href="javascript:FreshCoShowEFlyerOverlay()"> 
      <img alt="Example" src="http://freshco.wpengine.com/wp-content/uploads/2015/05/week-flyer-left.jpg" height="158" width="280"> 
     </a> 
</div> 

Я пытаюсь нажать на HREF. Я попытался это, но он не работает:

driver.findElement(By.xpath("//href[text()='javascript:FreshCoShowEFlyerOverlay']")).click(); 
+0

Что делать вы означает, что _it не работает_? Вы получили сообщение об ошибке? Ничего не происходит вообще? – Keppil

+0

'href' - это не тег, а атрибут. –

+0

It throws org.openqa.selenium.NoSuchElementException –

ответ

2

Используйте это:

driver.findElement(By.xpath("//a[@href='javascript:FreshCoShowEFlyerOverlay']")).click(); 

Intead из:

driver.findElement(By.xpath("//href[text()='javascript:FreshCoShowEFlyerOverlay']")).click(); 
+0

Это дало мне эту ошибку: Исключение из потока "main" org.openqa.selenium.NoSuchElementException: Не удалось найти элемент: {"method": "xpath", "selector": " // a [@ href = 'javascript: FreshCoShowEFlyerOverlay'] "} –

+0

Возможно, у вас может быть еще один элемент с тем же href. Можете ли вы разместить родительский тег этого HTML-кода. –

+0

// img [@ alt = 'Пример']. Попробуйте это. –

0

В качестве другого варианта:

driver.findElement(By.CssSelector("a[href*='FreshCoShowEFlyerOverlay']")).click(); 
Смежные вопросы