Selenium之WebdriverApi詳解

獲取標籤元素css

# 經過ID定位目標元素 driver.find_element_by_id('#i1') # 經過classname定位目標元素 driver.find_element_by_class_name('c1') # 經過name屬性定位目標元素 driver.find_element_by_name('name') # 經過Xpath定位目標元素 driver.find_element_by_xpath("//*[@id='i1']") # 經過Css Selector定位目標元素 driver.find_element_by_css_selector('#i1') # 經過標籤名稱定位(注:在一個頁面中標籤必定會重複,因此通常不用這個定位) driver.find_element_by_tag_name('input') # 經過標籤中的文本查找元素 driver.find_element_by_link_text('大師兄博客') # 經過標籤中文本的模糊匹配查找 driver.find_element_by_partial_link_text('大師兄')

獲取標籤元素經常使用的一共有8種定位方式,而Selenium實際提供了18種定位方式,還有8中是上面的複數形式,這裏就不一一介紹了,實際運用中並不經常使用,還有2種其實是這上面所說16種的底層封裝。參數化的一種調用方式而已。chrome

 

瀏覽器操做windows

driver.refresh()   #刷新
driver.forward()   #前進
driver.back()      #後退

窗口操做瀏覽器

# 獲取當前瀏覽器大小 driver.get_window_size() # 經過像素設置瀏覽器大小 driver.set_window_size('width:100px','height:100px') # 獲取當前窗口針對於windows的位置的座標x,y driver.get_window_position() # 設置當前窗口針對windows的位置,x,y driver.set_window_position(20,20) # 最大化當前窗口,不須要傳參 driver.maximize_window() # 返回當前操做的瀏覽器句柄 driver.current_window_handle # 返回全部打開server的瀏覽器句柄 driver.window_handles

截取當前頁面ui

# 獲取當前頁面的二進制圖片數據,須要本身去寫入文件
driver.get_screenshot_as_png()
# as_png的上層封裝,只須要傳入圖片名稱自動寫成圖片
driver.get_screenshot_as_file()

執行JavaScript語句url

# 執行JavaScript語句 driver.execute_script('JavaScript Command') # 例:經過JS才操做滾動條 # 參數1:x 參數2:y window.scrollTo(100,400)

關閉與退出spa

# 當開啓多個時,關閉當前頁面
driver.close()
# 退出並關閉全部頁面驅動
driver.quit()

其它code

# 返回頁面源碼
driver.page_source
# 返回tag標題
driver.title
# 返回當前url
driver.current_url
# 獲取瀏覽器名稱 如:chrome
driver.name

ElementApi接口server

# 根據標籤屬性名稱,獲取屬性value element.get_attribute('style') # 向輸入框輸入字符串 若是input的type爲file類型 能夠輸入文件絕對路徑上傳文件 element.send_keys() # 鼠標左鍵點擊操做 element.click() # 清除文本內容 element.clear() # 經過屬性名稱獲取屬性 element.get_property('id') # 返回元素是否可見 True or False element.is_displayed() # 返回元素是否被選中 True or False element.is_selected() # 返回標籤元素的名字 element.tag_name # 獲取當前標籤的寬和高 element.size # 獲取元素的文本內容 element.text # 模仿回車按鈕 提交數據 element.submit() # 獲取當前元素的座標 element.location # 截取圖片 element.screenshot()

常見異常blog

NoSuchElementException:沒有找到元素
NoSuchFrameException:沒有找到iframe
NoSuchWindowException: 沒找到窗口句柄handle
NoSuchAttributeException: 屬性錯誤
NoAlertPresentException:沒找到alert彈出框
ElmentNotVisibleException:元素不可見
ElementNotSelectableException:元素沒有被選中
TimeoutException:查找元素超時
相關文章
相關標籤/搜索