python - 使用python在网页上单击“加载更多”
问题描述
我正在尝试加载此链接的全部内容(单击 المزيد)
我在这里尝试了很多这样的教程,它教如何处理类似的问题(无限滚动页面)。
我的问题是我无法在此页面上指定加载更多类以单击它。但是,如果我没记错的话,它存在于这部分网页源代码中:
<ng-include src="'loader.html'" class="ng-scope">
<div class="loading-div ng-scope ng-hide" ng-show="!loadingMoreData">
<div class="spinner">
<div class="bounce1"></div>
<div class="bounce2"></div>
<div class="bounce3"></div>
</div>
</div>
</ng-include>
<div class="block-hed block-link clearfix" data-ng-show="isMoreDisplayed" data-ng-click="getMoreMaterials()">
<h4 class="link-border-color"><a href="javascript:void(0)">المزيد </a></h4>
</div>
我不一定需要实现任何功能,如“click()”或“perform()”。考虑在加载更多按钮下显示全部内容的任何方式。
顺便说一句,这是我到目前为止的代码:
from selenium import webdriver
browser = webdriver.Chrome("/home/aziz/anaconda3/lib/python3.6/site-packages/chromedriver/chromedriver")
am = browser.get("https://sabq.org/%D8%A7%D9%84%D9%85%D9%85%D9%84%D9%83%D8%A9/%D8%A5%D9%82%D8%AA%D8%B5%D8%A7%D8%AF")
更新 我在这里使用此链接来解决问题,但没有一个教程有效。
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
解决方案
我终于设法解决了这个问题。我刚刚在我的代码之后添加了这一行
while True:
browser.find_elements_by_link_text('المزيد')[1].click()
页面开始无限加载所有文章。我真的不知道 المزيد 本身是可点击的。我认为其中包含一个链接。
推荐阅读
- kubernetes - kubectl 补丁无法应用于 ConfigMap 数据
- azure - 我如何在 Microsoft azure 集成中使用“x-ms-meta-name:value”
- c# - SwaggerUI 显示诸如“无法解析参考:未找到”之类的消息
- angular - 角材料手风琴中的自定义标题
- android - MediaQuery 无法获取宽度和高度
- oracle - 无法登录时如何重置Oracle用户密码
- scala - 在 scala spark 程序中启动外部 spark 程序
- javascript - 在模式中编辑表单时,如何从依赖下拉列表中获取先前选择的选项?
- python - Python。代码无法处理较大的数字,但可以处理较小的数字。为什么?
- shell - 如何更改奇点容器中的默认提示