使用 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'
我卡住了。你能帮帮我吗?
我在网站上有一个输入框,可以在其中输入客户编号。该数字的格式为 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'