Python Selenium如何基于网格坐标获取网格中的单元格值
HTMLPython Selenium如何基于网格坐标获取网格中的单元格值,python,selenium,selenium-webdriver,html-table,Python,Selenium,Selenium Webdriver,Html Table,HTML 分部,基本备选方案 2015(M) 2016年(N) 2017(O) 2018年(P) 2019(Q) 1. 2. 3. 模型期 0 0 0 0 0 0 0 0 7. 纸浆销售,纸浆厂,MUSD 0 0 597 572 648 35 326 326 8. 纸浆销售、造纸厂、MUSD 0 0 0 0 0 0 0 0 0 方法应如下所示: rows = driver.find_elements_by_css_selector(".rowHeader") for r
分部,基本备选方案
2015(M)
2016年(N)
2017(O)
2018年(P)
2019(Q)
1.
2.
3.
模型期
0
0
0
0
0
0
0
0
7.
纸浆销售,纸浆厂,MUSD
0
0
597
572
648
35
326
326
8.
纸浆销售、造纸厂、MUSD
0
0
0
0
0
0
0
0
0
方法应如下所示:
rows = driver.find_elements_by_css_selector(".rowHeader")
for row in rows:
row_2015 = row.find_element_by_css_selector(".colHeader:nth-of-type(1)").text
row_2016 = row.find_element_by_css_selector(".colHeader:nth-of-type(2)").text
expected_text = driver.find_element_by_css_selector(".rowHeader:nth-of-type(1)>.colHeader:nth-of-type(1)").text
rows = driver.find_elements_by_css_selector(".rowHeader")
for row in rows:
row_2015 = row.find_element_by_css_selector(".colHeader:nth-of-type(1)").text
row_2016 = row.find_element_by_css_selector(".colHeader:nth-of-type(2)").text
expected_text = driver.find_element_by_css_selector(".rowHeader:nth-of-type(1)>.colHeader:nth-of-type(1)").text
没有完整的HTML页面,很难说清楚
尝试2:
在指定的条件下,使用以下xpath
:
//span[contains(text(),'2017 (O)')]/../../../../../thead[2]/tr[4]/td[4]
它通过列名直接定位tha值为597的单元格。
首先它找到列名,然后再向上几级,以便从第二个thead
中获取值
尝试更改
tr[4]/td[4]
part,您将通过xpath从表中获得任何值。您将使一切复杂化。只需为页面添加html代码。我将添加定位器的外观,但如果没有完整的html,则很难确定是否可以解决您的问题。我应该使用什么来代替“第n个类型”?我无法定位元素错误。我已更新我的问题。请看一看!是的,仍然是值为597的单元格,但根据行号和列名坐标对其进行定位@vitaliis//tr[{}]//td[count(//table[@class='htCore']///th[包含(,'{}')]//前面的同级::th