想全面的使用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() #关闭浏览区驱动,退出浏览器