Abd*_*aia 5 html python python-3.x web selenium-webdriver
我正在尝试加载此链接的全部内容(单击??????)。
我在这里尝试了很多类似这样的教程,这些教程讲授如何处理类似的问题(“无限滚动页面”)。
我的问题是我无法在此页面上指定加载更多类以单击它。但是,如果我没记错的话,它存在于网页源代码的这一部分:
<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>
Run Code Online (Sandbox Code Playgroud)
我不一定需要实现“ 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")
Run Code Online (Sandbox Code Playgroud)
更新 我在这里使用此链接来解决此问题,但是所有教程均无效。
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
Run Code Online (Sandbox Code Playgroud)
我终于成功解决了这个问题。我刚刚在代码后面添加了这一行
\n\nwhile True:\n browser.find_elements_by_link_text('\xd8\xa7\xd9\x84\xd9\x85\xd8\xb2\xd9\x8a\xd8\xaf')[1].click()\nRun Code Online (Sandbox Code Playgroud)\n\n然后页面开始无限加载所有文章。我真的不知道 \xd8\xa7\xd9\x84\xd9\x85\xd8\xb2\xd9\x8a\xd8\xaf 本身是可点击的。我以为里面有一个链接。
\n