在Selenium中通过XPath获取元素列表

时间:2017-07-12 07:42:01

标签: python selenium xpath

我正在尝试使用Selenium和Python自动执行每月费用报告流程。我可以登录并导航到费用,日期和位置列表。我无法将它们保存到Python中的列表中。目前,我被迫保存日期。

我有正确的XPath。当进入页面上的Chrome控制台时,它会显示所需日期的每个实例。但是试图将它们保存到Python中的变量似乎并没有起作用。调试时,“日期”列表的长度为0.

time.sleep(4)
dates = driver.find_elements_by_xpath('//time')
print(dates)

这是HTML:

< time datetime="2017-07-11T05:00:00.000Z">07/11/2017</time>

我试图从每个实例中获取“07/11/2017”。在Chrome控制台中使用“// time”xpath会提取25个元素的列表,这是准确的。我只是不知道为什么日期列表结束为空。我想我误解了find_elements_by_xpath函数的工作原理。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:-1)

希望它对你有所帮助。如果您需要进一步的帮助,请告诉我。选择哪个选项可以满足您的目的。

选项1:

time.sleep(4)
dates = driver.find_elements_by_xpath('//time')
for date in dates:
    print(date.text)

选项2:

time.sleep(4)
dates = driver.find_elements_by_xpath('//time')
print(dates.get_attribute('datatime'))
for date in dates:
    print(date.text)