据我所知,selenium 无法返回 http 状态代码。 我想要做的是单击页面上的所有特定链接并测试是否有损坏的链接。似乎 unittest 提供了获取状态代码的机制,但 selenium 具有漂亮的 find_element/xpath 函数。 LiveServerTestCase 是我应该查看的内容吗?
这里没有代码。
最佳答案
在 Python 中解析 HTML 并不太难。您可以使用 HTMLParser找到所有 <a hrefs="">
像这样的 HTML 字符串/文件中的值
from html.parser import HTMLParser
html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1>'\
'<a href="http://example.com/"></a></body></html>'
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
attrs = dict(attrs)
if 'href' in attrs:
print("Link:", attrs['href'])
parser = MyHTMLParser()
parser.feed(html)
所以,是的,UnitTest 似乎是可以使用的工具。
关于django - 使用 Selenium : Do I have any dead links? 的 Py/Django 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739838/