首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用selenium定位评论的日期而不是回复,python

使用selenium定位评论的日期而不是回复,python
EN

Stack Overflow用户
提问于 2022-06-21 03:56:26
回答 1查看 40关注 0票数 1

我如何从评论而不是回复中得到日期?

目前的代码是:

代码语言:javascript
复制
date_ref = driver.find_elements(By.TAG_NAME, "time")

但这既能从评论中得到日期,也能得到回复。

评论

代码语言:javascript
复制
<time datetime="2022-02-03T06:11:02.000Z" class="" data-service-review-date-time-ago="true" title="Thursday, 3 February 2022, 05:11:02 pm">3 Feb 2022</time>

答复

代码语言:javascript
复制
<time datetime="2022-02-07T03:31:52.999Z" 
class="typography_typography__QgicV typography_bodysmall__irytL typography_color-gray-6__TogX2 typography_weight-regular__TWEnf typography_fontstyle-normal__kHyN3 styles_replyDate__Iem0_" data-service-review-business-reply-date-time-ago="true" title="Monday, 7 February 2022, 02:31:52 pm">7 Feb 2022</time>

我如何从评论中获取日期,而不是回复?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-21 05:25:52

您使用的是TAG_NAME,这对于评论和回复都是一样的。因此,2 nodes的结果(可能有很多,但这取决于您的HTML-DOM)。

如果您想要区分节点,我发现data-service-review-date-time-ago属性是惟一的。

因此,将其更改为CSS/XPATH都可以完成任务。

CSS: time[data-service-review-date-time-ago]

XPATH: //time[@data-service-review-date-time-ago]

您可以使用driver.find_element(By.XPATH, "//time[@data-service-review-date-time-ago]")driver.find_element(By.CSS_SELECTOR, "time[data-service-review-date-time-ago]")等方式调用它们。

另外,请注意,您使用的是find_elements,这将返回一个web元素列表,如果您是针对第一个节点,则可能希望使用find_element

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72695178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档