在检查Twitter结果页面时,在以下类中:
<small class="time">
....
</small>
是每条推文的时间戳&#39;数据时间&#39;:
<span class="_timestamp js-short-timestamp js-relative-timestamp" data-time="1510698047" data-time-ms="1510698047000" data-long-form="true" aria-hidden="true">12m</span>
在selenium中我使用以下代码:
tweet_date = browser.find_elements_by_class_name('_timestamp')
但是看一个条目只返回12m。
如何在selenium中访问类中的其他属性?
答案 0 :(得分:1)
我通常使用find_elements_by_xpath,这样您就可以从页面中抓取特定元素,而无需担心名称。或者这就是它的工作方式。
修改强>
好吧所以我想我已经明白了。首先,通过xpath找到元素并分配。
"plugins":{
"getvideodata.js":{}
}
忘记如果你使用“元素”而不是“元素”,你需要添加这样的东西。
ts=browser.find_elements_by_xpath('//*[@id="stream-item-tweet-929138668551380992"]/div/div[2]/div[1]/small/a/span')
然后你可以使用get_attribute方法在html中获取与'data-time'相关的信息。
ts=ts[0]
返回
raw_time=ts.get_attribute('data-time')
答案 1 :(得分:0)
感谢SuperStew找到答案的关键 - get_attribute()
对于任何想知道的人,我的最终解决方案是:
tweet_date = browser.find_elements_by_class_name("_timestamp")
然后对于该列表中的任何日期:
tweet_date[1].get_attribute('data-time')