Как я могу проверить КАЖДУЮ ссылку на САЙТЕ с Selenium? - PullRequest
0 голосов
/ 21 сентября 2019

Я хочу протестировать каждую ссылку на САЙТЕ.Я много гуглил, но были только решения для проверки каждой ссылки на веб-странице.

Как я хотел это сделать: если скрипт щелкает ссылку, он просматривает новую веб-страницу, если есть новая ссылка.Если есть новая ссылка, скрипт щелкает по ней и повторяет шаги (смотрит и щелкает), пока не сможет найти ссылку.В этом случае сценарий перемещается назад, пока не найдет новую ссылку для щелчка.

У кого-нибудь есть решение для меня?Я использую Java.

Ответы [ 3 ]

0 голосов
/ 21 сентября 2019

Я думаю, что использование библиотеки jsoup - лучший выбор для этой цели, чем навигация по пользовательскому интерфейсу с использованием Selenium.

Для получения дополнительной информации, пожалуйста, следуйте этому руководству: https://www.javatpoint.com/jsoup-tutorial:)

0 голосов
/ 23 сентября 2019

Попробуйте этот код

links = browser.find_elements_by_tag_name('a')
    for link in links:
        try:
            response = requests.head(link.get_attribute('href'), allow_redirects=True)
            assert response.status_code in (200, 201, 301, 302, 304, 308)
        except Exception as e:
            print("Broken link detected " + str(link.get_attribute('href')))
0 голосов
/ 21 сентября 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...