如何在 Selenium 中使用 Python 在编辑框中输入大写字母?

selenium web driverautomation testingsoftware testing

我们可以借助 Action Chains 类在 Selenium 的编辑框中输入大写字母。这些类通常用于自动化交互,例如上下文菜单点击、鼠标按钮操作、按键和鼠标移动。

这些类型的操作主要常见于复杂的场景,例如拖放和悬停在页面上的元素上。Action Chains 类的方法被高级脚本所利用。我们可以借助 Selenium 中的 Action Chains 来操作 DOM。

Action Chain 对象以队列的形式实现 ActionChains,然后执行 perform() 方法。

调用 perform() 方法后,动作链上的所有操作都将执行。

创建动作链对象的方法如下:

  • 首先,我们需要导入动作链类,然后将驱动程序作为参数传递给它。

  • 现在,所有动作链的操作都可以借助此对象完成。

语法

创建动作链对象的语法 -

from selenium import webdriver

# 导入动作链
from selenium.webdriver import ActionChains
# 创建 webdriver 对象
driver = webdriver.Firefox()
# 创建动作链对象
action = ActionChains(driver)

创建动作链对象后,我们可以像执行排队链一样,逐个执行多个操作。

要在编辑框中输入大写字母,我们需要先移动到编辑框,然后执行 click() 操作。接着按住 SHIFT 键,使用 send_keys() 方法输入字母。最后使用 perform() 执行所有这些排队的操作。

语法

#元素
source = driver.find_element_by_id("name")
#动作链对象
action = ActionChains(driver)
# 将鼠标移动到元素
action.move_to_element(source)
# 点击编辑框
action.click()
# 按下 SHIFT 键
action.key_down(Keys.SHIFT)
# 在编辑框中输入字母
action.send_keys("tutorialspoint")
# 执行队列中的操作
action.perform()

示例

输入大写字母的代码实现。

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
#浏览器暴露可执行文件
#通过 Selenium 测试,我们将调用该可执行文件,然后它将
#调用实际的浏览器
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
#最大化浏览器窗口
driver.maximize_window()
#使用 get 方法启动 URL
driver.get("https://www.tutorialspoint.com/index.htm")
#刷新浏览器
driver.refresh()
#识别源元素
source = driver.find_element_by_xpath("//input[@name=#search#]");
# 创建动作链对象
action = ActionChains(driver)
# 将鼠标移动到元素
action.move_to_element(source)
# 点击编辑框
action.click()
# 按下 SHIFT 键
action.key_down(Keys.SHIFT)
# 在编辑框中输入字母
action.send_keys("tutorialspoint")
# 执行已排队的操作
action.perform()
# 关闭浏览器
driver.close()

相关文章