如何用Selenium Python实现Shift+Enter组合键插入换行不发送消息?
解决Selenium中Shift+Enter插入换行的问题
你的代码问题在于没有执行ActionChains构建的动作——ActionChains的方法只是把操作添加到队列里,必须调用perform()才会实际触发键盘事件。
修正后的代码如下:
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys # 输入第一段内容 message_box.send_keys("test1") # 执行Shift+Enter组合键动作 ActionChains(driver)\ .key_down(Keys.SHIFT)\ .send_keys(Keys.RETURN)\ .key_up(Keys.SHIFT)\ .perform() # 输入第二段内容 message_box.send_keys("test2")
也可以用更简洁的写法,直接通过send_keys传递组合键(部分场景下可用,但ActionChains的方式兼容性更好):
message_box.send_keys("test1", Keys.SHIFT + Keys.RETURN, "test2")
核心要点:所有ActionChains的键盘/鼠标操作,都需要调用perform()才能生效,否则只是定义了动作序列,没有实际执行。
内容的提问来源于stack exchange,提问作者Aquai
相关产品推荐
相关产品推荐

