【问题标题】:How can I test EVERY link on the WEBSITE with Selenium如何使用 Selenium 测试网站上的每个链接
【发布时间】:2019-09-21 10:44:38
【问题描述】:

我想测试网站上的每个链接。我用谷歌搜索了很多,但只有测试网页上每个链接的解决方案。

我想怎么做: 如果脚本单击链接,则脚本会在新网页上查找是否有新链接。如果有新链接,则脚本会单击它并重复这些步骤(查看并单击),直到找不到链接。在这种情况下,脚本会向后导航,直到找到要单击的新链接。

有人可以帮我解决吗?我正在使用 Java。

【问题讨论】:

标签: java selenium


【解决方案1】:

您可以使用递归函数打开链接,通过 Html 标记名称查找元素,然后为列表中的每个链接再次调用该函数。请注意,这可能会持续一段时间,您可能会耗尽内存等,因为所有网页通常都有链接。

【讨论】:

    【解决方案2】:

    我认为为此目的使用 jsoup 库比使用 Selenium 通过 UI 导航更好。

    有关更多信息,请关注本教程:https://www.javatpoint.com/jsoup-tutorial :)

    【讨论】:

      【解决方案3】:

      试试这个代码

      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')))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        • 2019-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-19
        相关资源
        最近更新 更多