gpt4 book ai didi

python - 我应该使用哪个循环来删除使用 Selenium 的表中的所有数据条目?

转载 作者:行者123 更新时间:2023-11-30 22:00:58 26 4
gpt4 key购买 nike

我需要编写一个循环来删除表中的所有条目。要删除条目,我需要使用 Selenium 来“勾选”删除复选框并单击“保存”。但是,每个条目都有一个唯一的“复选框”名称。第一个条目称为delete0,第二个条目称为delete1,依此类推。我希望创建一个循环来检查“delete0”是否存在,如果存在,则删除该条目,直到不再有条目。

我尝试使用 while 循环,但不确定应该实现什么条件,因为我是 Python 新手。这是我尝试过的循环:

while driver.find_element_by_class_name("delete0") exist:
driver.find_element_by_xpath("//input[@type='checkbox']").click()
driver.find_element_by_id("save-tcp").click()

这是网站的代码:

<form action="TCPFile" method="POST" enctype="multipart/form-data">
<div class="form-bottom">
<div class="table-responsive">
<table class="table table-bordered text-center" id="table_tcpfile">
<thead class="log">
<tr>
<th class="text-center">Index <i class="fa fa-info-circle" data-toggle="tooltip" data-placement="top" title="This index number is used to map to the corresponding index number on the receiver TCP to file settings page."></i></th>
<th class="text-center">Port <i class="fa fa-info-circle" data-toggle="tooltip" data-placement="top" title="" data-original-title="Enter port of TCP server."></i></th>
<th class="text-center">Delete</th>
</tr>
</thead>
<tbody>

<tr>
<td><input type="text" class="Map disabled-input" name="index0" value="0"></td>
<td><input type="text" class="Map disabled-input" name="port0" value="12333"></td>
<td><input type="checkbox" class="" name="delete0"></td>
</tr>

<tr>
<td><input type="text" class="Map disabled-input" name="index1" value="1"></td>
<td><input type="text" class="Map disabled-input" name="port1" value="12345"></td>
<td><input type="checkbox" class="" name="delete1"></td>
</tr>

<tr>
<td><input type="text" class="Map disabled-input" name="index2" value="2"></td>
<td><input type="text" class="Map disabled-input" name="port2" value="13555"></td>
<td><input type="checkbox" class="" name="delete2"></td>
</tr>

</tbody>
</table>
</div>
</div>
<div class="button-box col-lg-12">
<button type="submit" class="col-2 form-control btn btn-primary " id="save-tcp">Save</button>
</div>
</form>

预期结果是删除所有数据条目。

最佳答案

您可以通过部分@name值来匹配输入字段:

for item in driver.find_elements_by_xpath("//input[starts-with(@name, 'delete')]"):
item.click()
driver.find_element_by_id("save-tcp").click()

关于python - 我应该使用哪个循环来删除使用 Selenium 的表中的所有数据条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com