1. 程式人生 > >Selenium Webdriver API(5)

Selenium Webdriver API(5)

pri paste bsp 頁面 pty keys 使用命令 self visit

Selenium Webdriver API(5)
31、鍵盤操作-F12
#encoding=utf-8
import time
import unittest
from selenium import webdriver

class VisitSogouByIE(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Ie(executable_path = "D:\\IEDriverServer")
def test_simulateASingleKey(self):
url = "http://www.sogou.com"

self.driver.get(url)
#導入模擬按鍵模塊Keys
from selenium.webdriver.common.keys import Keys
#通過id獲取搜索輸入框的頁面元素
query = self.driver.find_element_by_id("query")
#通過webdriver實例發送一個F12鍵
query.send_keys(Keys.F12)
time.sleep(3)
#再次通過webdriver實例模擬發送一個F12鍵
query.send_keys(Keys.F12)
#在搜索輸入框中輸入“Selenium”
query.send_keys("selenium")
#通過webdriver實例模擬發送一個回車鍵
query.send_keys(Keys.ENTER)
time.sleep(3)
def tearDown(self):
self.driver.quit()

if __name__ == "__main__":
unittest.main()
32、組合按鍵
安裝模擬組合按鍵的包 pywin32-219.win-amd64-py2.7.exe 或者使用命令pip install pywin32(可能會失敗)
#encoding=utf-8
import unittest
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import win32clipboard as w
import win32con
import win32api
import time

#讀取剪切板
def getText():
w.OpenClipboard()
d = w.GetClipboardData(win32con.CF_TEXT)
w.CloseClipboard()
return d

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

VK_CODE = {
"enter":0x0d,
"ctrl":0x11,
"a":0x41,
"v":0x56,
"x":0x58
}

#鍵盤鍵按下
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)

class VisitWebByIE(unittest.TestCase):
def setUp(self):
#啟動瀏覽器
self.driver = webdriver.Ie(executable_path = "D:\\IEDriverServer")
def test_copyAndPaste(self):
url = "http://www.baidu.com"
self.driver.get(url)
#聲明即將要被設置到剪切板中的內容
content = u"魔獸世界"
#將content變量中的內容設置到剪切板中
setText(content)
#從剪切板中獲取剛設置到剪切板中的內容
getContent = getText()
print getContent
#將焦點切換到搜索輸入框中
self.driver.find_element_by_id("kw").click()
time.sleep(1)
keyDown("ctrl")
keyDown("v")
#釋放Ctrl+V組合鍵
keyUp("v")
keyUp("ctrl")
#點擊“百度搜索”按鈕
time.sleep(1)
self.driver.find_element_by_id("su").click()
time.sleep(3)

def tearDown(self):
self.driver.quit()

if __name__ == "__main__" :
unittest.main()

Selenium Webdriver API(5)