selenium (二) 瀏覽器的基本操作
在上一篇中,已經介紹過selenium的元素定位,下面介紹一下,
webdriver對瀏覽器的操作:
以下內容取自selenium/webdriver/remote/webdriver中的屬性和方法
獲取瀏覽器標題:
driver.title
獲取當前瀏覽器的url地址:
driver.current_url
獲取當前頁面的源碼:
driver.page_source
這個屬性其實挺有用的,不管是在web自動化,還是app自動化。
特別是在app頁面,可以將頁面源碼下載下來定位元素
獲取當前窗口的handler,用於判斷或切換瀏覽器窗口(主要作用於主-子窗口)
driver.current_window_handle
獲取瀏覽器的所有窗口handler,可以用來切換窗口(主要作用於主-子窗口)
driver.window_handles
獲取瀏覽器名稱:
driver.name
以下是對瀏覽器的操作方法:
關閉窗口:
driver.close()
退出driver驅動並關閉窗口:
driver.quit()
將當前窗口最大化:
driver.maximize_window()
將當前窗口最小化:
driver.minimize_window()
設置窗口指定的大小:
driver.set_window_size(800,600)
將瀏覽器進行全屏,類似於按下F11效果一致:
driver.fullscreen_window()
切換瀏覽器窗口,以driver.window_handles列表中的值作為參數
driver.switch_to_window()
返回退回上一步:
driver.back()
前進下一步:
driver.forward()
刷新當前頁面:
driver.refersh()
設置隱式等待時間,單位:秒
driver.implicitly_wait()
保存截屏圖片
driver.get_screenshot_as_file(‘/Screenshots/test_case01.png‘)
driver.save_screenshot(‘/Screenshots/test_case01.png‘)
實例:
from selenium import webdriver from time import sleep driver=webdriver.Chrome() driver.get("http://testshop:8081/tshop/index.php?con=simple&act=login") #登錄 def login_shop(userName,pwd): try: element_account=driver.find_element_by_id("account") #通過id定位 element_account.send_keys(userName) element_password=driver.find_element_by_name("password") #通過name定位 element_password.send_keys(pwd) element_loginBtn=driver.find_element_by_xpath(‘//button[@class="btn btn-main "]‘) #通過xpath定位 element_loginBtn.click() except Exception as e: driver.driver.save_screenshot(‘F:\\testAndStudy\\test\\login_shop.png‘) def click_menu(value): #0:首頁、1:限時搶購、2:團購、3:服裝、4:手機商城 try: element_menu=driver.find_elements_by_xpath(‘//*[@id="header"]/div[3]/ul/li[@class="link"]‘) #通過elements 獲取整個菜單元素,並存放在list中 element_menu[value].click() #通過list下標進行點擊操作 except Exception as e: driver.save_screenshot(‘F:\\testAndStudy\\test\\click_menu.png‘) """ 輸入不存在用戶名,登錄失敗後,將保存截圖到指定路徑下 """ login_shop(userName="[email protected]",pwd="123456") sleep(2) click_menu(2)
selenium (二) 瀏覽器的基本操作