selenium+Python(一)基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
from selenium import webdriver from [selenium.webdriver.common.keys](http://selenium.webdriver.common.keys/) import Keys import random,time
browser = webdriver.Firefox() time.sleep(3) browser.maximize_window()
time.sleep(int(random.uniform(1, 10))) browser.quit()
def Login(browser,username, password): browser.get('网页的URL') time.sleep(3) try: elem_user=browser.find_element_by_id("username") elem_user.clear() elem_user.send_keys(username) time.sleep(1) elem_pwd=browser.find_element_by_id("password") elem_pwd.clear() elem_pwd.send_keys(password) time.sleep(1) elem_pwd.send_keys(Keys.RETURN) return username + " login successfully \n" except: return username + " login failed \n" pass
|
selenium+Python(二)定位元素
自动化测试中常用的功能是通过各种元素,例如id,class,xpath,css等内容来寻找定位元素,而且不光可以定位一个元素,还可以定位一队元素,然后逐个操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| def Signup_Click(browser): input3 = browser.find_element_by_class_name("checkbtn") try: input3.click() return "Signup successfully \n" except: return "Signup failed \n" pass
def Love_Clicks(browser,k): inputs2 = browser.find_elements_by_class_name("love") for input2 in inputs2: try: input2.click() except: pass return str(i)+" Love successfully \n"
|
selenium+Python(三)键盘和鼠标操作
Python也可以模拟鼠标和键盘的操作,不过要注意的是键盘带来的屏幕游标位置的挪动和鼠标在屏幕上的挪动位置,两个是不同的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| from [selenium.webdriver.common.action_chains](http://selenium.webdriver.common.action_chains/) import ActionChains
def Transfer_Clicks(browser): browser.execute_script("window.scrollBy(0,-document.body.scrollHeight)","") try: inputs1 = browser.find_elements_by_class_name("feedAttr_transfer") for input1 in inputs1: try: ActionChains(browser).click(input1).perform() browser.execute_script("window.scrollBy(0,200)","") ActionChains(browser).move_by_offset(0,-80).perform() ActionChains(browser).click().perform() ActionChains(browser).key_down(Keys.TAB).perform() ActionChains(browser).send_keys(Keys.ENTER).perform() except: pass except: pass return "Transfer successfully \n"
|
杰云测试快捷登陆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| from selenium import webdriver import time def Login(browser,url,username, password): browser.get(url) time.sleep(1) try: elem_user=browser.find_element_by_id("j_username") elem_user.clear() elem_user.send_keys(username) time.sleep(1) elem_pwd=browser.find_element_by_id("j_password") elem_pwd.clear() elem_pwd.send_keys(password) time.sleep(1) elem_sub = browser.find_element_by_id("logoutBtn") elem_sub.click() time.sleep(3) return username + "login successfully \n" except: return username + "login failed \n" if __name__ == '__main__': browser = webdriver.Chrome() browser.maximize_window() url = 'https://yangtzi.vicp.net:843' usrname = 'user3' password = '123456' Login(browser,url,usrname,password) browser.close()
|