1. 程式人生 > >Selenium學習之==>WebDriverApi接口詳解

Selenium學習之==>WebDriverApi接口詳解

關閉當前頁面 play 新的 screen ectable not 截取圖片 name exceptio

瀏覽器操作

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

窗口操作

1 driver.get_window_size()             # 獲取瀏覽器大小
2 driver.set_window_size(500,500)  # 設置瀏覽器大小
3 driver.maximize_window()             # 最大化瀏覽器
4 driver.current_window_handle()       # 返回當前操作的瀏覽器句柄
5 driver.window_handles() # 返回所有打開server的瀏覽器句柄

截取當前頁面(截圖)

1 driver.get_screenshot_as_file(pic.png)  # 文件名必須以小寫的.png結尾

執行JavaScript語句

1 driver.execute_script(JavaScript Commond)
2 driver.execute_script(window.scrollTo(0,0);)  # 操作滾動條到瀏覽器最上面

Cookie操作

 1 # 根據cookieKey,獲取cookie信息
2 cookie = driver.get_cookie(cookieKey) 3 4 # 獲取所有cookie信息 5 cookies = driver.get_cookies() 6 7 # 添加cookie,嚴格按照格式添加,cookie的key為name,value為value 8 driver.add_cookie({name: tmp, value: 123123123}) 9 10 # 刪除所有cookie信息 11 driver.delete_all_cookies() 12 13 # 根據cookieKey刪除對應cookie 14
driver.delete_cookie(UiCode)

瀏覽器句柄及切換

 1 print(driver.window_handles)    # 獲取所有打開server的瀏覽器句柄,返回的是一個list
 2 bl = driver.find_element_by_css_selector([href="/new-index/"])
 3 bl.click()                      # 點擊連接打開一個新的頁面
 4 print(driver.window_handles)    # 再次獲取所有打開server的瀏覽器句柄
 5 handes = driver.window_handles
 6 driver.switch_to.window(handes[1])  # 切換瀏覽器句柄到新打開的這個頁面
 7 cl = driver.find_element_by_css_selector(#newtag)
 8 cl.send_keys(AAAA)
 9 driver.close()     # 關閉當前指針指向句柄的頁面
10 driver.switch_to.window(handes[0])  # 手動將瀏覽器指針切換回之前的頁面
11 driver.find_element_by_css_selector(#i1).send_keys(EEEE)
12 driver.quit()      # 關閉所有頁面

關閉與退出

1 driver.close()   # 關閉當前頁面,關閉頁面後如果指針切換了,必須手動切回來
2 driver.quit()    # 關閉所有頁面,退出驅動

ElementApi接口

 1 # 根據標簽屬性名稱,獲取屬性value
 2 element.get_attribute(style)
 3  
 4 # 向輸入框輸入字符串 如果input的type為file類型 可以輸入文件絕對路徑上傳文件
 5 element.send_keys()
 6  
 7 # 清除文本內容
 8 element.clear()
 9  
10 # 鼠標左鍵點擊操作
11 element.click()
12  
13 # 通過屬性名稱獲取屬性
14 element.get_property(id)
15  
16 # 返回元素是否可見 True or False
17 element.is_displayed()
18  
19 # 返回元素是否被選中 True or False
20 element.is_selected()
21  
22 # 返回標簽元素的名字
23 element.tag_name
24  
25 # 獲取當前標簽的寬和高
26 element.size
27  
28 # 獲取元素的文本內容
29 element.text
30  
31 # 模仿回車按鈕 提交數據
32 element.submit()
33  
34 # 獲取當前元素的坐標
35 element.location
36  
37 # 截取圖片
38 element.screenshot()

彈框處理

1 driver.find_element_by_css_selector(#confirm).click()  # 點擊按鈕,彈出彈框
2 print(driver.switch_to.alert.text)  # 打印彈框返回的文本文字
3 driver.switch_to.alert.accept()     # 確認
4 driver.switch_to.alert.dismiss()    # 取消

常見異常

 1 NoSuchElementException:沒有找到元素
 2  
 3 NoSuchFrameException:沒有找到iframe
 4  
 5 NoSuchWindowException:沒找到窗口句柄handle
 6  
 7 NoSuchAttributeException:屬性錯誤
 8  
 9 NoAlertPresentException:沒找到alert彈出框
10  
11 ElmentNotVisibleException:元素不可見
12  
13 ElementNotSelectableException:元素沒有被選中
14  
15 TimeoutException:查找元素超時

Selenium學習之==>WebDriverApi接口詳解