2016-02-14 2 views
2

Мне нужно щелкнуть ссылку (я использую Selenium и Java). Я ищу ссылку, используя xpath, но по какой-то причине я не получаю большую часть веб-страницы, просто пучок белых пробелов. На изображении вы можете увидеть выделенную ссылку, которую я ищу.проблема XPATH. Не удалось прочитать части html

Я пробовал:

System.out.println(driver.findElement(By.xpath("//*[@class='titre_1']/a")).getText()); 
System.out.println(driver.findElement(By.xpath("//*[@id='li-7']/div/a")).getText()); 

я получаю: org.openqa.selenium.NoSuchElementException: нет такого элемента: Не удается найти элемент

Если я:

System.out.println(driver.findElement(By.xpath("//*")).getText()); 

Я только получить несколько элементов со страницы и пустую часть пробелов. Что может быть неправильным?

Пожалуйста, помогите. Я не мог поместиться во весь источник html, чтобы показать вам. Надеюсь, все в порядке.

html source pic

+0

Вы можете проверить, если он находится внутри фрейма или нет? – Buaban

+0

Я вижу, что есть iframe за пределами ссылки, которую я ищу. Как мне переключиться на него? Спасибо :) – Bubu

+0

Имеет идентификатор iframe. – Bubu

ответ

1

В случае, если элемент находится внутри фрейма, вы можете получить его путем перехода на IFrame затем вызвать findElement. См ниже код:

WebElement iframeElement = driver.findElement(By.id("id_of_the_iframe")); 
driver.switchTo().frame(iframeElement); 

Тогда вы можете найти элемент с вашей XPath:

System.out.println(driver.findElement(By.xpath("//*[@class='titre_1']/a")).getText()); 
+0

спасибо .. это было решение! – Bubu

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