Python with selenium:如何获取元素中的第一个字符串
Python with selenium:如何获取元素中的第一个字符串,python,selenium,datetime,xpath,Python,Selenium,Datetime,Xpath,HTML: <td rowspan="2" class="en">17-04-10<br>00:30</td> 结果是: 17-04-10 00:30 我想要像这样获取字符串格式17-04-10 00:30,或者只获取日期17-04-10,因为我需要转换到datetime对象。使用替换函数replace(“\n”,”)或text.replace(“\r\n”,”)传统上您可能需要使用 //td[@rowspan='2']/text()[1] 获取17
HTML
:
<td rowspan="2" class="en">17-04-10<br>00:30</td>
结果是:
17-04-10
00:30
我想要像这样获取字符串格式
17-04-10 00:30
,或者只获取日期17-04-10
,因为我需要转换到datetime
对象。使用替换函数replace(“\n”,”)或text.replace(“\r\n”,”)传统上您可能需要使用
//td[@rowspan='2']/text()[1]
获取17-04-10
,但selenium
不支持此语法,因此您可以使用Python
处理输出,如下所示:
print (lb3.text.split()[0])
获取17-04-10
或
获取17-04-10 00:30
import re
date=re.search(r'(\d+\S\d+\S\d+)', lb3 , re.I)
date=(date.groups())
print(date)
这段代码将以您描述的格式(日期)找到第一个对象,并将其取出并存储为列表。请注意,如果您刮取的网页交替使用其月/年分隔符,则此代码也将起作用
regex命令(第2行)将生成一个匹配对象。第3行将其转换为列表对象
当然,这确实需要创建一个额外的列表,这可能效率低下
更多信息:
print(" ".join(lb3.text.split()))
import re
date=re.search(r'(\d+\S\d+\S\d+)', lb3 , re.I)
date=(date.groups())
print(date)