python - Selenium Python ActionChain 预制方法

标签 python selenium selenium-webdriver action

我需要 selenium 和 python 来执行组合键 Shift + Enter,以便插入新行而不发送消息 (\n 发送消息),使用此代码不会产生错误,但也不会创建新行。 message_box 变量已定义,并且其中的消息确实会显示。

代码试验:

action = ActionChains(driver)
message_box.send_keys("test1")
action.key_down(Keys.SHIFT)
action.send_keys(Keys.RETURN)
action.key_up(Keys.SHIFT)
message_box.send_keys("test2")

最佳答案

您可以将事件链接到 ActionChains() 中并使用以下任一解决方案在链中执行它们:

  • 使用SHIFTRETURN:

    ActionChains(driver).move_to_element(message_box).send_keys("test1").key_down(Keys.SHIFT).send_keys(Keys.RETURN).key_up(Keys.SHIFT).send_keys("test2").perform()
    
  • 使用SHIFTENTER:

    ActionChains(driver).move_to_element(message_box).send_keys("test1").key_down(Keys.SHIFT).send_keys(Keys.ENTER).key_up(Keys.SHIFT).send_keys("test2").perform()
    

注意:您必须添加以下导入:

from selenium.webdriver.common.keys import Keys

关于python - Selenium Python ActionChain 预制方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73178826/

相关文章:

python - 使用公共(public)列连接两个 csv 文件

python - 控制 Python seaborn 包中的刻度标签

java - 您可以使用 Selenium Webdriver 在 Firefox 启动后延迟测试启动吗?

java - 如果文本之间有 img 标签,则在跨度内分割文本 - selenium - java

java - 有没有办法循环使用断言来查找页面上所有损坏的图像

c# - Selenium:Firefox 每次都会打开新选项卡导致测试失败

python - 如何测试 send_file flask

python - 如何使用 Python 中的正则表达式从预定义的子字符串列表中替换或更新 DataFrame 的字符串实例

python-3.x - cookie sqlite错误1555如何解决? ( python 和 Selenium )

node.js - cucumberjs:查找步骤结果是否失败