使用BeautifulSoup4查找指定class的div失败求助
解决方法
1. 修正参数名错误
你代码里的_class参数名写错了,BeautifulSoup中指定class属性的正确参数是class_(下划线在class之后)。修改后的代码:
shots = soup.find_all("div", class_="tooltip make")
这是导致你获取不到目标元素的核心原因——参数名不被BeautifulSoup识别,自然无法匹配到对应class的div。
2. 用CSS选择器替代(可选)
如果想更直观地定位多class元素,也可以使用CSS选择器:
shots = soup.select("div.tooltip.make")
这种写法直接匹配同时拥有tooltip和make两个类的div元素,和上面的代码效果一致。
3. 动态加载的补充说明
你提到元素由JS加载,但打印soup时能看到目标div,说明这些元素已经在当前的soup对象中,不需要额外处理渲染问题。如果后续遇到soup中确实没有动态加载元素的情况,再用Selenium获取渲染后的页面源码传入BeautifulSoup即可。
内容的提问来源于stack exchange,提问作者Rohan Sheth
相关产品推荐
相关产品推荐

