python selenium遍历Xpath列表,批量删除操作功能

批量删除下图标红处

把下面的HTML代码保存到本地xxx.html

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
<script type="text/javascript">
function deleteRow(tableID, obj) {
          
   //参数为表格ID,触发对象
//获得触发对象的行号,parentElement的个数取决于触发对象为TR的第几级子项,input=>td=>tr,所以parentElement有两个
var rowIndex = obj.parentElement.parentElement.rowIndex;
//var table = document.getElementById(tableID).deleteRow(rowIndex);
//alert("您确定要删除吗?")
obj.parentElement.parentElement.parentElement.deleteRow(rowIndex); //再简化:省略tableID参数
}
</script>
<table border="1" id="tab1" width="90%">
<tbody>
<tr>
<th>序号</th>
<th>姓名</th>
<th>年龄</th>
<th>身份证</th>
<th>删除</th>
</tr>
<tr>
<td style="text-align: center;">1</td>
<td >测试一</td>
<td>15</td>
<td>1111111111111111111</td>
<td name="sc" style="text-align: center;"><input type="button" value="删除" οnclick="deleteRow(tb,this)"/></td>
</tr>
<tr>
<td style="text-align: center;">2</td>
<td>测试二</td>
<td>20</td>
<td>2222222222222222222</td>
<td name="sc" style="text-align: center;"><input type="button" value="删除" οnclick="deleteRow(tb,this)"/></td>
</tr>

<tr>
<td style="text-align: center;">3</td>
<td>测试三</td>
<td>20</td>
<td>3333333333333333333</td>
<td name="sc" style="text-align: center;"><input type="button" value="删除" οnclick="deleteRow(tb,this)"/></td>
</tr>

<tr>
<td style="text-align: center;">4</td>
<td>测试四</td>
<td>20</td>
<td>4444444444444444444</td>
<td name="sc" style="text-align: center;"><input type="button" value="删除" οnclick="deleteRow(tb,this)"/></td>
</tr>


</tbody>
</table>

</body>
</html>

python源码:

from selenium import webdriver
	
	class Demo():
	    def __init__(self):
	        pass
	        self.driver = webdriver.Chrome()
	        self.driver.get("file:///C:/Users/Administrator/Desktop/html_01.html")

	    #  1.指定循环遍历列表次数并添加到list_post
	    def for_one(self):
	        list_post = []
	        for i in range(2,5):
	            list_post.append(i)
	        return list_post
	
	    def list_add(self,i):
	        result =self.driver.find_element_by_xpath("""//*[@id="tab1"]/tbody/tr[3]/td[5]/input""".format(i))
	        result.click()
	
	    # 实现主方法
	    def run(self):
	        # 1.指定循环遍历列表次数并添加到list_post
	        for_two = self.for_one()
	        # 2.把循环的数字添加到Xpath路径
	        for i in for_two:
	             self.list_add(i)
	            # print(list_add)


	if __name__ == __main__:
	    demo = Demo()
	    demo.run()
	    # demo.list_add()
经验分享 程序员 微信小程序 职场和发展