首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不使用XPath的情况下使用selenium获取元素Datetime?

如何在不使用XPath的情况下使用selenium获取元素Datetime?
EN

Stack Overflow用户
提问于 2020-11-03 02:13:50
回答 3查看 159关注 0票数 0

如何使用selenium查找datetime类元素。请不要xpath,因为它不能在无头铬上工作,我不想看到浏览器在我编写代码时出现,以便每小时在后台运行。

我试过了

代码语言:javascript
复制
pp = p.find_element_by_class_name('line-height-3')
print(pp.get_attribute('datetime'))

结果

代码语言:javascript
复制
none

我已经弄明白了

代码语言:javascript
复制
    Announcement = driver.find_element_by_class_name('discussion.subscribed')
if Announcement.is_displayed():
    Announcement_id    = Announcement.get_attribute('data-discussionid')
    Announcement_title = Announcement.find_element_by_class_name('w-100.h-100.d-block').get_attribute('title')
    TIME = Announcement.find_element_by_id('time-created-'+str(Announcement_id))
    Time = TIME.get_attribute('datetime')

所以我只是把它放出来,以防其他人遇到这样的问题。我不使用xpath的原因是,每当它在无头模式下运行时,我都会收到nosuch错误,但在正常模式下运行。它工作得很好。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-11-03 04:40:26

您的id是动态的,所以您无法使用它。如果xpath不适合您,您可以使用cssSelector。在https://www.browserstack.com/guide/css-selectors-in-selenium上查看更多信息

我没有你的页面的更多HTML,但你可以尝试:timedatatimeformat=‘在你的图片上很难看到的部分’

票数 0
EN

Stack Overflow用户

发布于 2020-11-03 02:33:56

尝试通过id获取它。

代码语言:javascript
复制
pp = p.find_element_by_id('time-created-82672')
print(pp.get_attribute('datetime'))
票数 0
EN

Stack Overflow用户

发布于 2020-11-03 04:57:02

您可以使用CSS选择器

代码语言:javascript
复制
pp = p.find_element_by_css('div.author-info time')
print(pp.get_attribute('datetime'))

如果您要改变主意,请使用xpath :)

代码语言:javascript
复制
.//div[contains(@class, 'author-info')]//time
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64651019

复制
相关文章

相似问题

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