使用 Python 和 Selenium 增加输入框中的字符串

Incrementing a string in a input box with Python and Selenium

我卡住了。你能帮帮我吗?

我在网站上有一个输入框,可以在其中输入客户编号。该数字的格式为 NO0000(包含字母和数字)。我希望脚本将 NO0000 加 1,具体取决于客户端编号是否已经存在。

例如,如果我有 NO000,我希望输入在客户编号的最后一个数字上增加一个增量,因此输出将是 NO001。

我想在带有输入框的页面上使用 Selenium webdriver 执行此操作。

`#input client details
clientno = driver.find_element(by=By.XPATH, value='//*[@id="ctl00_MainContentPlaceHolder_tbclient_no"]')
clientno.send_keys('NO000')
clientno = bytes(clientno, 'utf-8')
clientnoincr = bytes(clientno + 1)
clientnoincr = str(clientnoincr)`

当我这样做时,没有任何反应。为什么?

假设 clientno 是字符串 NO000,然后将其递增 1 你可以这样做

clientno = f'NO{int(clientno[2:])+1:03d}'

其中 clientno[2:]'000',因为 [2:] 跳过了 'NO000' 的前两个字符。然后将字符串 000 转换为 int,即 0。然后它求和 1 并将其转换回字符串,以这样的方式放置前导零,使得结果字符串具有三个字符,即 f'{4:03d}''004' 并且 f'{19:03d}''019'