【发布时间】:2019-10-11 04:58:17
【问题描述】:
我有以下动态 webtable
(checkbox) ID_No country_code Date Time FileName
1A 5J 10/04/2019 12:05:45 filename_12:05
1A 5J 10/04/2019 13:05:45 filename2
3A 8J 10/03/2019 14:05:45 filename2
4A 9J 10/04/2019 14:08:45 filename1
id_no 的左侧有一个复选框。
我有以下数据框
ID_No country_code Date Time FileName
1A 5J 10/04/2019
1A 5J 10/04/2019
我只想检查与匹配 country_code,ID_No 对应的动态 webtable 中的行 和数据框中的日期,并在数据框中填充时间和文件名值
我在一次选择 1 个复选框的循环中编写下面的代码
for index,row in df.iterrows():
id_no=row['ID_No']
country_code=row['country_code']
date=row['Date']
driver = webdriver.Chrome()
driver.get(website_URL)
driver.find_element_by_xpath("//tr[td[contains(text(),date)] and
td[contains(text(),country_code)] and td[contains(text(),id_no)] ]//input").click()
在这种情况下,country_code='5J' and ID_No='1A' and Date='10/04/2019' 当我在 chrome 控制台中使用这个 xpath 时:
$x("//tr[td[contains(text(),'10/04/2019')] and
td[contains(text(),'5J')] and td[contains(text(),'1A')] ]")[0]
这包含满足上述条件的第一行。我得到了此 webtable 行的以下 HTML
<tr class="class1">
<td width="2%"> </td> <!–– checkbox ––>
<td width="2%"> 1A </td>
<td width="2%"> 5J </td>
<td width="2%"> 10/04/2019 </td>
<td width="2%"> 12:05:45 </td>
<td width="2%"> filename_12:05 </td>
</tr>
如何从我选择的复选框对应的动态webtable中提取相应的文件名和时间?
在上述情况下,在第一次迭代中,extracted_filename='filename_12:05' and time='12:05:45'
second_iteration,extracted_filename='filename2' and time='13:05:45
【问题讨论】:
-
你可以试试xpath轴。 //tr[td[contains(text(),'10/04/2019')] 和 td[contains(text(),'5J')] 和 td[contains(text(),'1A')] ] //td[5] //tr[td[contains(text(),date)] and td[contains(text(),country_code)] and td[contains(text(),id_no)] ]//td[ 5] : 时间 //tr[td[contains(text(),date)] and td[contains(text(),country_code)] and td[contains(text(),id_no)] ]//td[6] : 文件名