我正在尝试在html页面中找到一个选择器。我的大多数选择器都返回正确的结果,除了那些都有id和class的结果。
示例:
soup = BeautifulSoup(html, "html.parser")
selectors_giving_incorrect_value = ["input#symbol input.btn-primary",
"input.stackbar input#symbol.stackbar",
"div div#logo.stackarea"]
selectors_working_right = ["div", "div p"]
for i in selectors_giving_incorrect_value:
soup.select(i))
输出始终为空白:
[]
[]
[]
想要检查是否有一种特殊的方法可以检查这些同时包含id和class的选择器?
答案 0 :(得分:0)
尝试
soup.find_all("div",attrs={"class":"myClass","id":"myID"})
如果使用选择器,我也会认为soup.select("div#IDname.ClassName")
有效,现在无法真正测试。
答案 1 :(得分:0)
尝试更正此选择器:
"input#symbol input.btn-primary"
应该是:
"input.btn-primary input#symbol"
我知道它违反了原始的css选择器规则,但似乎有效。当您重新排序id和类时 - 此选择器将不起作用。可能它取决于您使用的解析器。