想全面的使用selenium可以下載《selenium 2自動化測試實戰-基於Python語言》PDF的電子書看看
我使用到了簡單的瀏覽器操作,下載文件等功能。。。
推薦使用firefox,selenium對火狐的支持非常好,在寫腳本的時候可以避開很多坑
from selenium import webdriver driver = webdriver.Firefox() # 創建一個實例 driver.get(weburl) #打開瀏覽器輸入URL為weburl driver.get_screenshot_as_file(“保存路徑”)#瀏覽器窗口截圖 #元素定位方法,這里簡單說幾個 driver.find_element_by_xpath() #xpath html絕對路徑定位,其他方法定位不到時使用 driver.find_element_by_id() #通過ID定位 driver.find_element_by_class_name() #類名定位
在標簽沒有屬性的情況下定位:
driver.find_element_by_xpath("//strong[text()='123123']")
#定位后可通過一下方法操作 #send_keys('向該元素發送本字符串') #click() #鼠標單擊 #text #獲取元素內容 例如; driver.find_element_by_id('name').send_keys('admin') #其他一些方法,很多,就不一一例舉了 driver.implicitly_wait(5) # 設置最長等待時間 driver.refresh() #頁面刷新
lr=driver.current_url #獲取當前瀏覽器URL
下載文件的代碼:
1 fp = webdriver.FirefoxProfile() 2 fp.set_preference("browser.download.folderList",2) #改為2,可設置文件保存目錄 3 fp.set_preference("browser.download.manager.showWhenStarting",False) #False:不顯示下載 4 fp.set_preference("browser.download.dir",r"C:\Program Files (x86)") #第二個參數是文件的保存路徑 5 fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/x-msdownload") #第二個元素為下載文件的擴展名Content-type,此處為exe文件 6 dr = webdriver.Firefox(firefox_profile=fp) #更多擴展名Content-type可到http://tool.oschina.net/commons查看 7 dr.get(url) 8 time.sleep(4) #等待頁面顯示 9 dr.find_element_by_partial_link_text('點擊下載').click() 10 time.sleep(2) #等待下載 11 dr.quit() #關閉瀏覽區驅動,退出瀏覽器