Я думаю, что ваше требование состоит в том, чтобы в основном проверить, работают ли ссылки нормально - не сломаны.
В этом случае, я бы предложил вам следовать этому подходу - (Это на Java - вы можете сделать что-тоаналогично и на других языках)
Я пытаюсь извлечь все href
на странице.Но если вам нужен конкретный xpath, просто измените его здесь.
driver.get("https://www.yahoo.com");
Map<Integer, List<String>> map = driver.findElements(By.xpath("//*[@href]"))
.stream() // find all elements which has href attribute & process one by one
.map(ele -> ele.getAttribute("href")) // get the value of href
.map(String::trim) // trim the text
.distinct() // there could be duplicate links , so find unique
.collect(Collectors.groupingBy(LinkUtil::getResponseCode)); // group the links based on the response code
Теперь мы можем получить доступ к URL-адресам на основе интересующего нас кода ответа.
map.get(200) // will contain all the good urls
map.get(403) // will contain all the 'Forbidden' urls
map.get(404) // will contain all the 'Not Found' urls
map.get(0) // will contain all the unknown host urls
Проверьте здесь для полной реализации.