擅长:python、mysql、java
<p>查看代码,<strong>由于<code>for line in sn:</code>,您已经在迭代文件的行了。但是,<strong><code>serials = sn.read().splitlines()</code>会导致<code>serials</code>包含文件中的行列表</strong>。因为<code>send_keys</code>可以获取要发送的键列表,<strong>它只发送文件中的所有数据。如果您想搜索一行,然后搜索下一行,等等,那么<strong>我建议您将<code>line</code>放在第一行<code>send_keys</code></strong>中,如下所示:</p>
<pre><code>with open("SerialNumbers.txt") as sn:
for line in sn:
search_field = driver.find_element_by_id('criteria[1][1]')
search_field.click()
search_field.send_keys(line)
search_field.send_keys(Keys.ENTER)
</code></pre>
<p>您可能需要修剪行尾,因为每行都可能包含<code>\n</code>字符。您可以使用<code>str.rstrip()</code>来完成这项操作,它将删除所有尾随的空格字符,如果这不会中断您的搜索</p>
<p><strong>或者,您可以执行<code>sn.read().splitlines()</code>并像这样迭代:</strong></p>
<pre><code>with open("SerialNumbers.txt") as sn:
serials = sn.read().splitlines()
for serial in serials:
search_field = driver.find_element_by_id('criteria[1][1]')
search_field.click()
search_field.send_keys(serial)
search_field.send_keys(Keys.ENTER)
</code></pre>