python bs4在没有硒的弹出窗口中获取元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python bs4在没有硒的弹出窗口中获取元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1603字,纯文字阅读大概需要3分钟。
内容图文
![python bs4在没有硒的弹出窗口中获取元素](/upload/InfoBanner/zyjiaocheng/669/699810f50cc0410087a6f4da8d938f71.jpg)
我想在此页面的弹出窗口后面收集数据. https://www.commonsense.org/education/game/garrys-mod
我正在尝试在弹出的“主题&技能.
我知道我可以使用硒,但是如果它没有用,我宁愿不使用.
我尝试收集的数据在其中:
subjectSkills = gameSoup.find('div',class_='popper popper-popover subjects-skills')
但是,它返回None,因为它位于如下所示的弹出窗口后面:
<a href="#" id="subjects-skills" class="body-color" data-toggle="popover" data-content=".subjects-skills" data-arrow="false" target="_self">Subjects & skills</a>
单击箭头按钮后,数据箭头的值更改为true,这可能是一种解决方案,但是我不确定如何/是否可以更改此值.
谢谢
解决方法:
如果您正在从我使用的主题中寻找弹出窗口
res = soup.findAll("div", {"class": "subjects-skills__item"})
返回的是:
<div class="subjects-skills__item">
<h5 class="subjects-skills__label">Subjects</h5>
<ul>
<li>Science</li>
</ul>
</div>,
<div class="subjects-skills__item">
<h5 class="subjects-skills__label">Skills</h5>
<ul>
<li>Creativity</li>
<li>Critical Thinking</li>
</ul>
</div>
我通过单击弹出窗口来获得它.突出显示文本,然后右键单击并去检查以找到该类.
from bs4 import BeautifulSoup as bs4
import requests
def get_data():
url = 'https://www.commonsense.org/education/game/garrys-mod'
r = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"})
html_bytes = r.text
soup = bs4(html_bytes, 'lxml')
res = soup.findAll("div", {"class": "subjects-skills__item"})
return res
test1 = get_data()
如果您只想要文字.
# For just the Text
for i in test1:
print(i.text)
退货
Subjects
Science
Skills
Creativity
Critical Thinking
内容总结
以上是互联网集市为您收集整理的python bs4在没有硒的弹出窗口中获取元素全部内容,希望文章能够帮你解决python bs4在没有硒的弹出窗口中获取元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。