我正在尝试查找输入元素<input id="telephone" name="telephone">
。我试过了soup.find('input', name='telephone')
并没有找到它。但是soup.find('input', id='telephone')
工作正常。我认为问题在于'name'有两个含义,标签的名称和name属性。那么,我如何通过name属性进行搜索?
显然,在我的例子中,我可以通过id属性进行搜索,但在我的实际困境中并不存在。
答案 0 :(得分:1)
您还可以使用attrs
参数。例如:
soup.find('input', attrs={'name': 'telephone'})
或者,更简单地说就是你的情况:
soup.find('input', {'name': 'telephone'})
(见https://www.crummy.com/software/BeautifulSoup/bs4/doc/#the-keyword-arguments)
您不必传递代码名称('input'
在您的情况下) - 您只能按属性搜索 - 但我已将其包含在内以匹配您问题的详细信息。
希望这有用。
答案 1 :(得分:0)
我不确定你是否写过。
soup.find('input', name='telephone');
你会尝试使用它吗?
soup.find('input[name="telephone"]');
希望它有效。