【问题标题】:Finding Table data in p tag with python selenium使用 python selenium 在 p 标签中查找表数据
【发布时间】:2020-05-24 13:41:18
【问题描述】:

所以基本上我使用 selenium 自动复制表格中的数据并在新选项卡中打开它并为其创建一个单独的页面。所以每个 tr 都有一个单元格的名称和一张图片。我想从链接中复制单元格的名称和图片并用它创建一个新页面。访问 p 标签中的数据的任何帮助都会很棒!我似乎找不到表的路径,因为它没有 id 并且不知道如何从 td 访问 p 标签。

我想复制单元格信息,然后将信息粘贴到新选项卡中以创建新页面。我不知道 selenium 是否适合这个。

【问题讨论】:

  • 除非您处理的是动态 javascript 网页,否则您可能想改用 Beautifulsoup
  • 我刚刚更新了我的帖子。在这里使用 Beautifulsoup 会是更好的选择吗?
  • 请不要张贴图片。如果有人想写一个解决方案,那就麻烦了。最好复制和粘贴 html 代码。

标签: python selenium selenium-webdriver html-table


【解决方案1】:

您可以使用以下代码迭代表格的所有行并访问每行的单元格名称和图像。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

table = WebDriverWait(driver, 50).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='table-wrap']/table[1]")))
element.click()


for row in table.find_elements_by_xpath(".//tr//td[@class='confluenceTd']/div[1]"):

          cell_name=row.find_element_by_xpath("./p[1]")
          print(cell_name.text)
          image= row.find_element_by_xpath(".//span//img")

【讨论】:

  • 你从哪里得到元素?元素是否应该是 webdriver.Chrome(path)?你提供的代码有错误,你知道为什么吗?
  • Webdriver.chrime(path) 即将设置 chrome 实例,而您的问题将要迭代 webtable,所以我的答案是特定的。
  • 错误是什么?所有代码都是从移动键盘输入的,所以请忽略语法错误。您可以检查方法
  • 错误是这个 selenium.common.exceptions.NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":".//div[ @class='content-wrapper']/p[1]"}
  • 表格在脚本中。这会改变现状吗?
猜你喜欢
  • 2021-02-09
  • 1970-01-01
  • 2014-11-04
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
  • 2022-01-05
相关资源
最近更新 更多