2015-07-21 5 views
0

В настоящее время у меня есть функция, которая проверяет все пустые ссылки href на одной странице. Как я могу редактировать свою функцию, чтобы просматривать все ссылки на каждой странице моего сайта?Java Selenium найти все ссылки с сайта?

List<WebElement> links = driver.findElements(By.tagName("a")); 

ответ

0

псевдокоде (так как я не знаю, как отформатирован ваша страница)

while(links.hasNext()) 
{ 
your function here; 
} 

То есть, как люди, как правило, идет о разборе всего документа, а с любой страницы только строки кода , вы также можете разобрать его. Или, если вы используете что-то вроде селена, это происходит с точки зрения Appium, вы можете попытаться создать таблицу, содержащую указатель на ваши hrefs, а затем создать переменную строк, которая фактически заполнена ими driver.findByClass; а затем просто запустите цикл for или while.

+0

hasNext, кажется, не работает для веб-элементов –

0

Вы можете попробовать что-то вроде этого. Попытался бы получить ссылки и сказал бы, если ссылка недействительна на основе ответа.

for(WebElement w : links){ 
    URLConnection = new URL(w.getAttribute("src")).openConnection(); 
    if (conn instanceof HttpURLConnection) { 
     HttpURLConnection http = (HttpURLConnection) conn; 
     Assert.assertTrue("The link is invalid", http.getResponseCode() < 400); 
    } 
} 
+0

При любом изменении вы имеете в виду HttpURLConnection на второй линии? Im получаю ошибки с conn также. –

+0

Эй, извините, я пропустил линию. Редактировал. попробуйте сейчас – Sentient07

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