Python扩展模块——selenium的使用(定位、下载文件等)

想全面的使用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()      #关闭浏览区驱动,退出浏览器
原文地址:https://www.cnblogs.com/MrRead/p/7839692.html