python+selenium 简单页面操作以及鼠标键盘事件

原文:https://www.cnblogs.com/c1116p1212/p/9482265.html

在自动化测就是模拟人为的操作,上一篇讲的是定位页面元素来找到某个点,当我们找到该元素后可以进行相应的操作

clear()    清除文本

send_keys("输入内容")   想输入框输入内容

click()  点击事件

from selenium import webdriver

driver = webdriver.Firefox()

driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').clear()   #清除输入框

driver.find_element_by_id('kw').send_keys('selenium+python')   #输入selenium+python

driver.find_element_by_id('su').click()   #点击搜索按钮

通过上面的操作可以模拟鼠标的操作如click()不过现实中鼠标还有的操作,比如双击、右键、拖动、悬停等等,在WebDriver 中这些关于鼠标操作的方法由 ActionChains 类提供。

ActionChains类提供的鼠标操作的常用方法:

perform() 执行所有 ActionChains 中存储的行为

context_click() 右击

double_click() 双击

drag_and_drop() 拖动

move_to_element() 鼠标悬停

如图,某商城内切换语言选择语言设置悬停效果,其他与悬停用法一致

python+selenium 简单页面操作以及鼠标键盘事件_第1张图片

from seleniumimport webdriver

#引入ActionChains类

from selenium.webdriver.common.action_chainsimport ActionChains

import time

driver = webdriver.Firefox()

driver.maximize_window()

driver.get('https://www.thishop.com/')

time.sleep(3)

#定位到要悬停的元素

stop =driver.find_element_by_class_name("icon-arrow-down")

#对定位到的元素执行鼠标悬停操作

ActionChains(driver).context_click(stop).perform()

键盘事件,在现实操作中我们习惯性的按tab见切换到写一个输入或者元素,Key()类几乎提供所有按键的方法

下面经常使用到的键盘操作:

send_keys(Keys.BACK_SPACE) 删除键(BackSpace)

send_keys(Keys.SPACE) 空格键(Space)

send_keys(Keys.TAB) 制表键(Tab)

send_keys(Keys.ESCAPE) 回退键(Esc)

send_keys(Keys.ENTER) 回车键(Enter)

send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)

send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)

send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)

send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)

send_keys(Keys.F1) 键盘 F1

……

send_keys(Keys.F12) 键盘 F12

from seleniumimport webdriver#引入Keys模块

from selenium.webdriver.common.keysimport Keys

driver = webdriver.Firefox()

driver.get("http://www.baidu.com")

#输入框输入内容

driver.find_element_by_id("kw").send_keys("seleniumm")

#删除多输入的一个m

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

#输入空格键+“教程”

driver.find_element_by_id("kw").send_keys(Keys.SPACE)

driver.find_element_by_id("kw").send_keys(u"教程")

#ctrl+a  全选输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')

#ctrl+x 剪切输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')

#ctrl+v 粘贴内容到输入框

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')

#通过回车键盘来代替点击操作

driver.find_element_by_id("su").send_keys(Keys.ENTER)

driver.quit()

你可能感兴趣的:(python+selenium 简单页面操作以及鼠标键盘事件)