我是新的网站垃圾,并使用beautifulsoup和硒。我正在尝试从以下网页中获取数据:
https://epl.bibliocommons.com/item/show/2300646980
我正试图删去“包含该职位的员工名单”一节。特别是,我想获取<li>
标记的数量,因为我只需要员工列表上的项目/链接的数量。你知道吗
我在“Inspect”提供的HTML代码上尝试了以下内容。以下是我试图从中提取的HTML代码块:
<div class="ugc_bandage">
<div class="lists_heading clearfix">
<h3 data-test-id="ugc-lists-heading">
Listed
</h3>
<div class="ugc_add_link">
<div class="dropdown saveToButton clearfix" id="save_to_2300646980_id_7a3ateh0panp1uv0he1v7aqmj9" data-test-id="add-to-list-dropdown-container">
<a href="#" aria-expanded="false" aria-haspopup="true" class=" dropdown-toggle dropdown-toggle hide_trigger_icon" data-test-id="add-to-list-save-button" data-toggle="dropdown" id="save_button_2300646980_id_7a3ateh0panp1uv0he1v7aqmj9" rel="nofollow">
<i aria-hidden="true" class=" icon-plus"></i>
<span aria-hidden="true">Add</span><span class="sr-only" data-js="sr-only-dropdown-toggle" data-text-collapsed="Add, collapsed" data-text-expanded="Add, expanded">Add, collapsed</span><span aria-hidden="true" class="icon-arrow"></span></a>
<ul class="dropdown-menu">
<li>
<a href="/user_lists/new?bib=2300646980&origin=https%3A%2F%2Fepl.bibliocommons.com%2Fitem%2Fload_ugc_content%2F2300646980" class="newList">Create a New List</a>
</li>
<li>
<a href="/lists/add_bib/mine?bib=2300646980_fangirl" data-js="cp-overlay" id="more_lists_id_7a3ateh0panp1uv0he1v7aqmj9">Existing Lists »</a>
</li>
</ul>
</div>
</div>
</div>
<h4 data-test-id="staff-lists-that-include-this-title">Staff Lists that include this Title</h4>
<div data-analytics="{ "SubFeature": "Lists that include this title" }" class="expand clearfix" id="all_lists_expand" testid="text_listsincluding">
<ul class="further_list">
<li> [LIST ENTRIES START HERE, BUT THERE'S SO MANY, IT WOULD MAKE THIS POST TO LONG.] </li>
id="all_lists_expand"
)中复制了上述代码: element = driver.find_elements_by_xpath('//*[@id="rightBar"]/div[3]/div')
element = driver.find_element_by_class_name('expand clearfix')
element = driver.find_element_by_css_selector('#all_lists_expand')
我还完成了上述代码的其他变体,查找元素的父类、XPath等
以上所有尝试都返回NONE
。我不确定我做错了什么,我应该触发一个事件或使用硒的东西吗?我甚至没有点击列表中列出的任何链接,甚至没有保存一个链接列表,我只需要计算有多少链接开始。你知道吗
你不需要硒的花费。您可以对页面对该内容发出相同的GET请求,然后从返回的json中提取html,并使用bs4进行解析和提取链接
要获得
Staff Lists that Include that Title
诱导WebDriverWait
和presence_of_all_elements_located
()下的所有锚定标记,这将提供100个链接。你知道吗输出:
我浏览了您的页面并编写了一个XPath,它将在“包含此标题的人员列表”下找到所有
li
元素。更新为包含所有相关元素的wait
。你知道吗此XPath查询主
div
元素,该元素包含包含文本“包含此标题的人员列表”的h4
元素下的所有li
项。然后我们查询div[2]
,其中包含相关的li
项。最后一个查询是对类名为空的li
元素的查询。从页面源代码中可以看到,有许多隐藏的li
元素具有class='extra'
属性。我们不需要这些li
元素,因此我们查询not(contains(@class=, 'extra'))
以获得没有extra
类名的li
元素。你知道吗如果上述XPath不起作用,我还修改了您在原始问题中发布的另一个XPath:
对于您提供的URL,两个查询都检索到5个结果:
相关问题 更多 >
编程相关推荐