提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
问题
当使用xpath表达式去遍历表单数据时,如果直接复制浏览器定位的xpath表达式,只能定位到特点位置的元素,无法动态去进行遍历
例子
例如我们要遍历下图中的table表单下每一行tr的计划号元素,如果直接复制xpath路径是
//*[@id=“tb_detial2”]/tbody/tr[2]/td/table/tbody/tr[1]/td[3],这个只能定位到这一个元素
代码
定位到表单table的tr元素,可以看到一共有8个tr,定位这个tr元素直接复制浏览器的xpath路径即可,得到元素组Rows
Rows=driver.find_elements(By.XPATH,'//*[@id="tb_detial2"]/tbody/tr')
用for循环遍历Rows
for row in Rows:
planId=row.find_element(By.XPATH,'.//td/table/tbody/tr[2]/td[2]/input').get_attribute("value")
其中.//td/table/tbody/tr[2]/td[2]/input 表达式,是根据当前的每一行元素去进行定位的,这样子就能根据每一行的tr去遍历得到相应的计划号元素