我想用硒擦掉一页。示例HTML如下所示(来自查看页面源代码)
<div class="col s12 m12 l4 xl4 therapist_contact_list">
<p class="col s6 m6 l6 xl6 noPaddingLeft lprofile-address hide-on-large-only"><i class="fa fa-map-marker" aria-hidden="true"></i> Birmingham, Alabama 35294</p>
<p class="col s12 read_content_par hide-on-large-only noPadding">Online Video & phone session only- etc
</p>
</div>
所以我的selenium代码是
location = listing.find_element_by_xpath('.//div[2]/p[1]').text
description = listing.find_element_by_xpath('.///div[2]/p[2]').text.replace(",","")
它来自for循环,因此XPath是正确的。其他我需要刮的东西都能用,但这两个都是空的。我不知道为什么
我不知道这是否意味着什么,但其他标记不是p标记,也没有引号
您可以使用
BeautifulSoup
和Requests
来代替selenium
。这是因为使用BeautifulSoup
和Requests
将减少大约10-20秒的执行时间。这就是你如何做到的:输出:
@KunduK是正确的。可以使用
element.get_attribute("textContent")
获取元素的内部文本当浏览页面时,我能够循环浏览每个治疗师,收集他们的信息并将其放入一个类
object
治疗师数据类
我创建了一个名为
get_number_of_therapists
的方法,该方法返回页面上显示的治疗师人数。然后,我为每个治疗师收集数据,并将其放入我的课堂object
您正在查看的元素在页面上不可见。这就是您无法使用
.text
获取值的原因而是使用
element.get_attribute("textContent")
要处理动态页面,请诱导
WebDriverWait
()并等待presence_of_all_elements_located
()和迭代您需要导入以下库
控制台输出:
相关问题 更多 >
编程相关推荐