zoukankan      html  css  js  c++  java
  • 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()      #关闭浏览区驱动,退出浏览器
  • 相关阅读:
    PHP+Ajax手机移动端发红包实例
    PHP+Ajax点击加载更多列表数据实例
    Thinkphp带表情的评论回复实例
    PHP+Mysql查询上一篇和下一篇文章实例
    PHP通过session判断防止表单重复提交实例
    PHP+Ajax微信手机端九宫格抽奖实例
    PHP+Ajax+plupload无刷新上传头像代码
    PHP原生开发的各大音乐平台API接口
    js 获取浏览器高度和宽度值(多浏览器)(转)
    NPOI、MyXls、Aspose.Cells 导入导出Excel(转)
  • 原文地址:https://www.cnblogs.com/MrRead/p/7839692.html
Copyright © 2011-2022 走看看