点击网页表格中特定行里面的一个操作按钮

关于如何获得网页表格中的内容,请参考这里: 获取表格内容
现在有同学提出,怎么才能点击表格中需要的行的按钮呢?
点击网页表格中特定行里面的一个操作按钮

我们以这个网页为例,我们要搜索'域/计算机名'的值为'FZZTB-3/fzztb-3'的行,并且点击后面的播放按钮,那么怎么做呢?
点击网页表格中特定行里面的一个操作按钮

首先我们获取表格内容,这个不详述,使用代码块实现,代码放在这里给大家抄一下:

import ubpa.iie as iie
import re
import pandas as pd

table_string = iie.get_html(title=r'CDA会话搜索',selector=r'#ListForm > DIV:nth-of-type(2) > DIV:nth-of-type(2) > TABLE:nth-of-type(1)') #这个title和查找路径都是我用鼠标点击拾取来的,注意最后一个>后面是TABLE
tb_start = re.compile('')
tb_end = re.compile('')
last_str = tb_end.sub('', tb_start.sub('', table_string))
lv_4 = pd.read_html(last_str, flavor="bs4", header=0)[0] #注意header=0,有些表格header不是0
lv_4['域/计算机名'] = lv_4['域/计算机名'].apply(str) #这一步把‘域/计算机名’这列转为字符串,可能有None活着数字
print(lv_4.columns) #通过这个,你可以看到lv_4有哪些列

我预先定义了一个流程变量lv_4,后面会频繁使用这个变量
点击网页表格中特定行里面的一个操作按钮

我做了一个表格过来,过滤的条件是:
点击网页表格中特定行里面的一个操作按钮
小心引号和空格,根据错误提示不断修正。

然后我判断是否找到结果:
点击网页表格中特定行里面的一个操作按钮

lv_4长度大于 0,就是找到结果了,找到结果情况下,我们可以看看行编号,就是 lv_4.index,里面可能有多个值,你可以像 list 一样 for 遍历。
点击网页表格中特定行里面的一个操作按钮

我这里直接用了搜索到的第一个行编号,就是输出了lv_4.index[0],然后我输出了一个字符串#ListForm > DIV:nth-of-type(2) > DIV:nth-of-type(2) > TABLE:nth-of-type(1) > TBODY:nth-of-type(1) > TR:nth-of-type(14) > TD:nth-of-type(%d) > A:nth-of-type(2) > B:nth-of-type(1)' % (lv_4.index[0] + 1)
这个字符串是我用鼠标点击查找路径拾取来的播放按钮的链接,TD 这里,我把里面一个数值用 %d 代替(这个叫占位符),用我们搜索到的 index(lv_4.index[0] + 1)来代替,要加一是因为 index 是 0 开始编号, :nth-of-type是 1 开始编号
我并没有真正去点击,但是点击的时候,把这个我输出的变量,放到查找路径里面就可以实现动态根据查找结果点击了。