selenium API(二)

1.单选框

<form>
  <input type="radio" name="sex" value="male">Male<br>
  <input type="radio" name="sex" value="female">Female
</form>
element = driver.find_element_by_name()
element.click()
#判断是否被选择
element.is_selected()

2.复选框

<input type="checkbox" value="cv1" name="c1">A
<input type="checkbox" value="cv2" name="c2">B
<input type="checkbox" value="cv3" name="c3">C
<input type="checkbox" value="cv4" name="c4">D

3.截取屏幕

driver.get_screenshot_as_file(r"e:\screenPicture.png")

4.拖拽元素

from selenium.webdriver import ActionChains
import time
'''
创建一个新的ActionChains,将webdriver实例对象driver作为参数值传入
然后通过WebDriver实例执行用户动作。
'''
action_chains = ActionChains(self.driver)
# 将页面上第一个能被拖拽的元素拖拽到第二个元素位置
action_chains.drag_and_drop(element1,element2).perform()

5.win32模拟键盘操作

# coding:utf-8
from selenium import webdriver
# 导入模拟组合按键需要的包
import win32api
import win32con
import time

#键盘键按下
def keyDown(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, 0, 0)
#键盘键抬起
def keyUp(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, win32con.KEYEVENTF_KEYUP, 0)
    
VK_CODE = {
    'enter': 0x0D,
    'ctrl': 0x11,
    'a': 0x41,
    'v': 0x56,
    'x': 0x58
}

driver = webdriver.Chrome(executable_path="e:\driver\chromedriver")
url = "http://www.sogou.com"
driver.get(url)
searchBox = self.driver.find_element_by_id("query")
#将焦点切换到搜索输入框中
searchBox.click()
searchBox.send_keys("selenium")
#稍微等待几秒,防止太快串命令
time.sleep(3)
#模拟Ctrl + a,选中输入框中所有的内容
keyDown('ctrl')
keyDown('a')
#释放Ctrl + a组合键
keyUp('a')
keyUp('ctrl')
#模拟Ctrl + x剪切所选中的内容
keyDown('ctrl')
keyDown('x')
keyUp('x')
keyUp('ctrl')
driver.get("http://www.baidu.com")
#将焦点切换到搜索输入框中
driver.find_element_by_id("kw").click()
#模拟Ctrl + v组合键,进行粘贴
keyDown("ctrl")
keyDown("v")
keyUp('v')
keyUp('ctrl')
#模拟回车键
keyDown('enter')
keyUp('enter')
time.sleep(5)
driver.quit()

6.设置剪切板内容

# coding:utf-8
from selenium import webdriver
import win32clipboard as w
import win32con

# 设置剪切板内容
def setText(aString):
    w.OpenClipboard()
    w.EmptyClipboard()
    w.SetClipboardData(win32con.CF_UNICODETEXT, aString)
    w.CloseClipboard()

driver = webdriver.Chrome(executable_path="e:\driver\chromedriver")
url = "http://www.sogou.com"
driver.get(url)
# 找到搜索输入框
searchBox = self.driver.find_element_by_id("query")
# 将焦点切换到搜索输入框
searchBox.click()
time.sleep(2)
# 在搜索输入框上执行一个鼠标右键点击操作
ActionChains(self.driver).context_click(searchBox).perform()
# 将“gloryroad”数据设置到剪切板中,相当于执行了复制操作
setText('selenium')
# 发送一个粘贴命令,字符p指代粘贴操作
ActionChains(self.driver).send_keys('P').perform()
# 点击搜索按钮
self.driver.find_element_by_id('stb').click()
time.sleep(2)
driver.quit()
posted @ 2018-09-13 16:38  SneakingSled  阅读(94)  评论(0编辑  收藏  举报