Python-Selenium table-仅限刮板 returns 第一行
Python-Selenium table-scraper only returns first row
我正在尝试使用硒从 table 中提取信息。
我得到了行:
rows = driver.find_elements_by_xpath('//tbody/tr')
我正在尝试在该行中获取两个特定的单元格:
for r in rows:
diccionario["property1"] = driver.find_element_by_xpath(xpath).text
diccionario["property2"] = driver.find_element_by_xpath(xpath).text
with open("bbdd.json", "a", encoding="utf-8") as bd:
json.dump(diccionario, bd, ensure_ascii=False, indent=4)
但是,它只会return第一行的信息(重复行数)
有没有办法“强制”代码在我们当前在 for 循环中迭代的行中查找元素?
代码
所有 trs(行)代码看起来都一样。
我需要的 tds/cells 是前两个(类 对于不同行中的每个 td 看起来也一样)。
我专注于尝试访问单元格本身。但是,我改变了主意并尝试从“webelement parent”(行本身)获取内容。
该行的文本 属性 包含我需要的信息。
唯一的问题是我必须解析一些文本(这并不难)。所以最后我不需要访问不同的tds。
我正在尝试使用硒从 table 中提取信息。
我得到了行:
rows = driver.find_elements_by_xpath('//tbody/tr')
我正在尝试在该行中获取两个特定的单元格:
for r in rows:
diccionario["property1"] = driver.find_element_by_xpath(xpath).text
diccionario["property2"] = driver.find_element_by_xpath(xpath).text
with open("bbdd.json", "a", encoding="utf-8") as bd:
json.dump(diccionario, bd, ensure_ascii=False, indent=4)
但是,它只会return第一行的信息(重复行数)
有没有办法“强制”代码在我们当前在 for 循环中迭代的行中查找元素?
代码
所有 trs(行)代码看起来都一样。
我需要的 tds/cells 是前两个(类 对于不同行中的每个 td 看起来也一样)。
我专注于尝试访问单元格本身。但是,我改变了主意并尝试从“webelement parent”(行本身)获取内容。
该行的文本 属性 包含我需要的信息。
唯一的问题是我必须解析一些文本(这并不难)。所以最后我不需要访问不同的tds。