python - 是否有一致的方法可以使用硒从 quora 网页中获取第一个答案?
问题描述
所以我想从给定的 quora 网页中抓取第一个答案。我写了一个硒代码来做同样的事情。但它给出的结果不一致,有时它会从页面上刮掉第一个答案,但有时它会刮掉第二个或第三个答案。不知道为什么会发生这种情况,有没有办法解决它?
driver.get(('https://www.quora.com/What-is-football'))
questions = driver.find_elements_by_class_name("ui_qtext_expanded")
l = len(questions)
if l == 0:
btn = driver.find_element_by_class_name("ui_button_label")
btn.click()
driver.implicitly_wait(10)
questions = driver.find_elements_by_class_name("ui_qtext_expanded")
for q in questions:
print(q.text)
这是我正在使用的代码。当答案中没有阅读更多选项时,我发现答案具有“ui_qtext_expanded”类。否则它具有“ui_qtext_truncated_text”类,当我们点击阅读更多时,它会转换为“ui_qtext_expanded”。所以我总是通过类名“ui_qtext_expanded”来查找元素,如果答案已经阅读了更多选项,那么 questions 变量的长度将为 0,因此我们将执行 if 块。
这段代码给了我来自 quora 页面的第一个答案,但有时它给出了页面上的第二个或第三个答案。如何始终如一地在页面上获得第一个答案?
解决方案
推荐阅读
- java - 我应该在哪里检查用户名是否已经存在于rest api中?
- java - spring.jpa.hibernate.ddl-auto等于验证时Spring Boot 2.3无法启动
- javascript - 如何更新嵌套在firebase数组中的数组?
- sql - 选择不同的条件
- python - pandas 将数据框转换为 pivot_table,其中 index 是排序值
- asp.net-core - 调用 MVC 控制器动作返回 404
- c++ - 遍历 struct c++ 中的变量
- imagej - ImageJ:使用脚本参数询问输入 n 次?
- c# - MongoDB .NET 驱动程序 ProjectionDefinition Slice 方法不起作用
- node.js - 是否可以在状态/过滤器流上同时使用跟踪和跟随参数?