Selenium 3 Python中send_keys无法处理/字符的解决咨询
Selenium 3 Python中send_keys输入含/字符异常的解决方法
当调用send_keys("before/after")时文本框显示为afterbefore,确实是因为/在部分环境中被解析为特殊快捷键(回到文本开头),以下是几种可行的解决办法:
逐个字符模拟输入
使用ActionChains逐字符发送输入,避免触发特殊字符的解析逻辑:from selenium.webdriver.common.action_chains import ActionChains target_text = "before/after" actions = ActionChains(driver) actions.click(textbox) # 确保文本框处于激活状态 for char in target_text: actions.send_keys(char) actions.perform()通过JavaScript直接设置值
绕开send_keys,直接用JS修改文本框的value属性,这种方式完全不会触发键盘事件相关的特殊处理:target_text = "before/after" driver.execute_script("arguments[0].value = arguments[1];", textbox, target_text)尝试转义字符(视环境而定)
部分场景下可以用反斜杠转义/,但该方法兼容性不一定强,建议优先测试前两种:textbox.send_keys("before\/after")
内容的提问来源于stack exchange,提问作者Benjamin Hillard
相关产品推荐
相关产品推荐

