python - 如何在网站表格上以列表形式获取一个特定列的所有值?
问题描述
我正在尝试在网站上的表格中列出整列中的所有值。
现在,我正在尝试一种不同的方法,即单击特定的 html 代码并彻底执行操作。但是如果我可以在整个过程中循环列表的每个值,这样做会快得多。
我现在正在做的事情:Invoice top 是表格中最上面的发票(我使用 Absolute XPATH 作为这个参考)
我需要列出所有发票号码
def loop(Invoice_Top,driver):
while Invoice_Top is not '' or Invoice_Top is not 0:
Invoice_Top.click()
并且在.click()之后,执行整个过程。
解决方案
我不认为 usingInvoice_Top
是这样做的好方法,因为它代表单行,但听起来您正试图从所有行中获取发票编号。你会更幸运地获取td
包含发票编号的所有元素的列表,并从那里循环遍历它们。
# get all invoice cells -- skip the first tr element, because it just contains column headers
invoice_cells = driver.find_elements_by_xpath("//table/tbody/tr[not(contains(@class, 'printonly'))]/td[1]")
for invoice_cell in invoice_cells:
print(invoice_cell.text)
这应该打印发票编号——XPath 从每一行中挑选第一个td
元素,在本例中是发票编号,并将其内容打印到控制台。
推荐阅读
- python - 超越自定义异常但打印所有其他异常
- can-bus - 在可以运行 AUTOSAR 应用程序的管理程序上集成像 Erika Enterprise 这样的 RTOS?
- google-cloud-storage - 如何仅访问网络上特定域/主机的谷歌签名 URL?
- mongodb - 如何在 MongoDB 中查找文档、更新文档并插入新文档?
- python - 在实现 StandardScaler 时无法将字符串转换为浮点数:'N'
- reactjs - 继承数据时使用 React-Redux 从 reducer 更改状态而不是根状态
- sql - SQL 使用查询根据排序字段为记录分配排名
- html - 使用自定义按钮时,旧 Webkit 缺少供应商前缀的 CSS 渐变
- c++ - 在 C++ 中缩放浮点值
- sql - 查询 SQL 日期