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()      #关闭浏览区驱动,退出浏览器
  • 相关阅读:
    为什么使用GitHub
    java学习笔记
    mysql 内置功能 存储过程 创建有参存储过程
    mysql 字符串类型 char varchar
    前端 HTML 注释
    mysql 内置功能 存储过程 删除存储过程
    前端开发 目录
    mysql 内置功能 存储过程 创建无参存储过程
    mysql 内置功能 存储过程 目录
    mysql 内置功能 存储过程介绍
  • 原文地址:https://www.cnblogs.com/MrRead/p/7839692.html
Copyright © 2011-2022 走看看