[英]Python Selenium: Obtain row and column of an element in a table
I have a table that contains lots of diferent elements.我有一张包含许多不同元素的表格。 I want to first look for specific ones (the structure below shows the row of the element 220193) Basically I want to find the element with href 220193 on this big table and then gather all the values that are on the same row than this element.
我想首先查找特定的(下面的结构显示元素 220193 的行)基本上我想在这个大表上找到具有 href 220193 的元素,然后收集与该元素在同一行上的所有值。 Then repeat this for other elements 220XYZ.
然后对其他元素 220XYZ 重复此操作。
I was thinking of finding element 220193 by link and then gathering the xpath to find position (row and column) in the table and then iterate on the different columns but i can't manage it to work.我正在考虑通过链接查找元素 220193,然后收集 xpath 以在表中找到 position(行和列),然后迭代不同的列,但我无法管理它工作。
<tr role="row" aria-rowindex="1" class="table-warning"> <td role="cell" aria-colindex="1" class="table-warning b-table-sticky-column"><a href="**">220193</a></td>** <td aria-colindex="2" role="cell" class="">Unknown</td> <td aria-colindex="3" role="cell" class="">XXXXXX</td> <td aria-colindex="4" role="cell" class="">2022-06-30</td> <td aria-colindex="5" role="cell" class="">2022-07-01</td> <td aria-colindex="6" role="cell" class="">XXXXXX</td> <td aria-colindex="7" role="cell" class="table-info">1209</td> <td aria-colindex="8" role="cell" class="table-info">760</td> <td aria-colindex="9" role="cell" class="table-info">449</td> <td aria-colindex="10" role="cell" class="table-info">37.1%</td> <td aria-colindex="11" role="cell" class=""><button type="button" class="btn mr-2 btn-secondary btn-sm"> Open Report </button></td> <td aria-colindex="12" role="cell" class="">16</td> <td aria-colindex="13" role="cell" class="">1176</td> <td aria-colindex="14" role="cell" class="">18</td> <td aria-colindex="15" role="cell" class="">1.5%</td> <td aria-colindex="16" role="cell" class="">2</td> <td aria-colindex="17" role="cell" class="">1174</td> <td aria-colindex="18" role="cell" class="">0</td> <td aria-colindex="19" role="cell" class="">0.0%</td> <td aria-colindex="20" role="cell" class="">0</td> <td aria-colindex="21" role="cell" class="">1166</td> <td aria-colindex="22" role="cell" class="">8</td> <td aria-colindex="23" role="cell" class="">0.7%</td> <td aria-colindex="24" role="cell" class="">14</td> <td aria-colindex="25" role="cell" class="">1152</td> <td aria-colindex="26" role="cell" class="">0</td> <td aria-colindex="27" role="cell" class="">0.0%</td> <td aria-colindex="28" role="cell" class="">0</td> <td aria-colindex="29" role="cell" class="">1146</td> <td aria-colindex="30" role="cell" class="">6</td> <td aria-colindex="31" role="cell" class="">0.5%</td> <td aria-colindex="32" role="cell" class="">265</td> <td aria-colindex="33" role="cell" class="">876</td> <td aria-colindex="34" role="cell" class="">5</td> <td aria-colindex="35" role="cell" class="">0.4%</td> <td aria-colindex="36" role="cell" class="">10</td> <td aria-colindex="37" role="cell" class="">768</td> <td aria-colindex="38" role="cell" class="">98</td> <td aria-colindex="39" role="cell" class="">8.1%</td> <td aria-colindex="40" role="cell" class="">1</td> <td aria-colindex="41" role="cell" class="">767</td> <td aria-colindex="42" role="cell" class="">0</td> <td aria-colindex="43" role="cell" class="">0.0%</td> <td aria-colindex="44" role="cell" class="">4</td> <td aria-colindex="45" role="cell" class="">759</td> <td aria-colindex="46" role="cell" class="">4</td> <td aria-colindex="47" role="cell" class="">0.3%</td> <td aria-colindex="48" role="cell" class="">0</td> <td aria-colindex="49" role="cell" class="">759</td> <td aria-colindex="50" role="cell" class="">0</td> <td aria-colindex="51" role="cell" class="">0.0%</td> <td aria-colindex="52" role="cell" class="table-info">58</td> <td aria-colindex="53" role="cell" class="table-info">393</td> </tr>
This may work.这可能有效。
res
res
keys = ['220193', '220XYZ']
res = []
for k in keys:
rows = driver.find_elements(By.CSS_SELECTOR, 'tr')
for r in rows:
tds = driver.find_elements(By.CSS_SELECTOR, 'td')
if tds[0] = k:
res.append([td.text for td in tds])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.