我有一个 HTML 表,其中包含以下对象类型:文本、文本框、列表框(选择)和按钮(见附图)。我的目的是在可能的情况下解析表格中的文本。例如,我想解析用户名、权限、SNMPv3 Auth 和 SNMPv3 Priv 列。对于列表框,我已经知道如何收集选定的选项文本。只包含文本的表格对我来说是众所周知的,我知道如何很好地解析它们,但是我用来解析它们的方法不适合这种表格。你会建议我如何处理这种桌子?在代码示例中,我打印了表格的内容(文本),但实际上,我将存储它以分析它的内容。顺便说一下,您还可以看到我指的不是表格的第一行(标题)。这是用户查看只有 div 标签的列表行的方式
2 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
我改进了上面的解决方案来解决我的具体问题,它仍然可能需要一些调整,例如我需要想办法忽略最后一行,但这不是一个大问题。我要解决的另一件事是获得结果所需的时间。由于某种原因,它需要几秒钟
rows = driver.find_elements_by_css_selector("table#sec_user_table>tbody>tr")
for row in rows:
cols = row.find_elements_by_css_selector("div,select")
for col in cols:
if col.tag_name == 'div':
if col.text != '':
print(col.text)
elif col.tag_name == 'select':
print(Select(col).first_selected_option.text)
添加回答
举报
0/150
提交
取消