1.頁面的按鈕或輸入框操作:首先定位到該元素,然後可以進行點擊或輸入值
如:
driver.find_element_by_css_selector("xxx").click()
driver.find_element_by_id("xxx").send_keys("yyy")
2.下拉選擇框處理:通過select類的方法根據具體內容進行選擇
如:
Select(driver.find_element_by_id("xxx")).select_by_visible_text(yyy)
3.可手動輸入的下拉選擇框處理:先定位到該框體,然後根據可選擇的列表內容進行選擇輸入
如:
driver.find_element_by_css_selector("xxx").click()
driver.find_element_by_xpath("//li[contains(.,'xxx')]").click()
說明:資料文檔顯示css也支持contains選擇方法,但是我實際使用的時候不生效,具體原因待定,先使用xpath定位的conta方法
css方法參考:E:contains('xxxx')
4.根據列表中某一項內容來選擇table中指定項(勾選table的指定項),如根據登錄名來勾選指定項
處理方法:
(1)推薦:根據xpath軸先定位到登錄名行,然後根據登錄名節點找到同級的前面勾選節點,然後可以實現依據登錄名來勾選指定的項
如:
driver.find_element_by_xpath("//td[@title='User1']/preceding-sibling::td/input")
(2)-先根據登錄名獲取對應的用戶id,然後根據id值定位到勾選框進行勾選
(3)-自己編寫方法遍歷表格的登錄名列(依據x,y座標),找到輸入的登錄名如user2對應的行,然後根據行數勾選對應的數據項
5.上傳文件操作處理,處理方法是直接定位到對應文件上傳框(input),然後發送文件路徑即可執行上傳
(注意:無需點擊上傳按鍵,點擊彈出的是Windows窗體,Selenium無法處理;上傳輸入框無需clear,不然會報錯說找不到;直接發送文件路徑即可)
driver.find_element_by_name("fileChoosed").send_keys("D://123.txt")
6.下載文件操作處理,由於Selenium無法直接操作系統的彈出框,所以要藉助AUtoIt工具進行識別下載保存(上傳也可以),具體操作可以參考:
http://www.cnblogs.com/fnng/p/4188162.html,基本的實現代碼如下:
ControlFocus("保存圖像", "","Edit1")
WinWait("[CLASS:#32770]","",10)
ControlClick("保存圖像", "","Button1");