1. # -*- coding:utf-8 -*-
  2. import os
  3. import selenium
  4. from selenium import webdriver
  5. from selenium.webdriver.common.keys import Keys
  6. """
  7. 练习启动各种浏览器:Firefox, Chrome, IE
  8. 练习启动各种浏览器的同时加载插件:Firefox, Chrome, IE
  9. """
  10. def startFirefox():
  11. """启动安装在默认位置的Firefox浏览器,并自动转到 百度 首页"""
  12. driver = webdriver.Firefox()
  13. driver.get("http://www.baidu.com")
  14. assert("百度" in driver.title)
  15. elem = driver.find_element_by_name("wd")
  16. elem.send_keys("selenium")
  17. elem.send_keys(Keys.RETURN)
  18. assert "百度" in driver.title
  19. driver.close()
  20. driver.quit()
  21. driver = None
  22. def startFirefoxWithSpecificLocation():
  23. """启动安装在 非 默认位置的Firefox浏览器,并自动转到 百度 首页"""
  24. firefoxBin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  25. os.environ["webdriver.firefox.bin"] = firefoxBin
  26. driver = webdriver.Firefox()
  27. driver.get("http://www.baidu.com")
  28. assert("百度" in driver.title)
  29. elem = driver.find_element_by_name("wd")
  30. elem.send_keys("selenium")
  31. elem.send_keys(Keys.RETURN)
  32. assert "百度" in driver.title
  33. driver.close()
  34. driver.quit()
  35. driver = None
  36. def startChrome():
  37. """启动Chrome浏览器,并自动转到 百度 首页
  38. 启动Chrome浏览器需要指定驱动的位置
  39. """
  40. chrome_driver = os.path.abspath(r"D:\云盘\360云\360云盘\我的自动双向同步文件夹\01-PersonalInfo\DataGuru\12-软件自动化测试Selenium2\1-课程\练习代码_Python版本\Selenium_python\Files\chromedriver.exe")
  41. os.environ["webdriver.chrome.driver"] = chrome_driver
  42. driver = webdriver.Chrome(chrome_driver)
  43. driver.get("http://www.baidu.com")
  44. assert("百度" in driver.title)
  45. elem = driver.find_element_by_name("wd")
  46. elem.send_keys("selenium")
  47. elem.send_keys(Keys.RETURN)
  48. assert "百度" in driver.title
  49. driver.close()
  50. driver.quit()
  51. driver = None
  52. def startIE():
  53. """启动IE浏览器,并自动转到 百度 首页
  54. 启动 IE 浏览器需要指定驱动的位置
  55. """
  56. ie_driver = os.path.abspath(r"D:\云盘\360云\360云盘\我的自动双向同步文件夹\01-PersonalInfo\DataGuru\12-软件自动化测试Selenium2\1-课程\练习代码_Python版本\Selenium_python\Files\IEDriverServer.exe")
  57. os.environ["webdriver.ie.driver"] = ie_driver
  58. driver = webdriver.Ie(ie_driver)
  59. driver.get("http://www.python.org")
  60. assert("Python" in driver.title)
  61. elem = driver.find_element_by_id("id-search-field")
  62. elem.send_keys("selenium")
  63. '''
  64. elem.send_keys(Keys.RETURN)
  65. assert "百度" in driver.title
  66. driver.close()
  67. driver.quit()
  68. driver = None
  69. '''
  70. def start_firefox_with_firebug_plug():
  71. """启动Firefox,并自动加载插件Firebug"""
  72. firefoxBin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  73. os.environ["webdriver.firefox.bin"] = firefoxBin
  74. firefoxProfile = webdriver.FirefoxProfile()
  75. tempDir = os.getcwd()
  76. tempDir = os.path.split(tempDir)[0]
  77. firebugPlugFile = os.path.join(os.path.join(tempDir,"Files"), "firebug-2.0.7.xpi")
  78. firefoxProfile.add_extension(firebugPlugFile)
  79. firefoxProfile.set_preference("extensions.firebug.currentVersion", "2.0.7")
  80. driver = webdriver.Firefox(firefox_profile=firefoxProfile)
  81. driver.get("http://www.baidu.com")
  82. def start_chrome_with_chrometomobile_plug():
  83. """启动Chrome,并自动加载插件Chrome to Mobile"""
  84. tempDir = os.getcwd()
  85. tempDir = os.path.split(tempDir)[0]
  86. chrome_driver_file = os.path.join(os.path.join(tempDir,"Files"), "chromedriver.exe")
  87. os.environ["webdriver.chrome.driver"] = chrome_driver_file
  88. chrome_to_mobile_plug_file =  os.path.join(os.path.join(tempDir,"Files"), "Chrome-to-Mobile_v3.3.crx")
  89. chrome_options = webdriver.ChromeOptions()
  90. chrome_options.add_extension(chrome_to_mobile_plug_file)
  91. driver = webdriver.Chrome(executable_path=chrome_driver_file,
  92. chrome_options=chrome_options)
  93. driver.get("http://www.baidu.com")
  94. '''
  95. driver.close()
  96. driver.quit()
  97. driver = None
  98. '''
  99. def start_firefox_with_default_settings():
  100. """启动Firefox浏览器, 使用本地配置文件中的选项配置浏览器
  101. 自动将页面载入过程导出为Har文件,并存放在
  102. 配置项 extensions.firebug.netexport.defaultLogDir指定的D:\temp\selenium2目录下
  103. """
  104. firefox_bin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  105. os.environ["webdriver.firefox.bin"] = firefox_bin
  106. # 使用从别的机器上拷贝来的浏览器配置
  107. firefox_profile = webdriver.FirefoxProfile(os.path.abspath(r"D:\Temp\selenium2\Profiles\mm9zxom8.default"))
  108. # 使用本地的默认配置
  109. #firefox_profile = webdriver.FirefoxProfile(r"C:\Users\eli\AppData\Roaming\Mozilla\Firefox\Profiles\mm9zxom8.default")
  110. driver = webdriver.Firefox(firefox_profile=firefox_profile)
  111. driver.get("http://www.baidu.com")
  112. driver.get("http://www.baidu.com")
  113. '''
  114. driver.close()
  115. driver.quit()
  116. driver = None
  117. '''
  118. def start_chrome_with_default_settings():
  119. """启动Firefox浏览器, 使用本地配置文件中的选项配置浏览器"""
  120. tempDir = os.getcwd()
  121. tempDir = os.path.split(tempDir)[0]
  122. chrome_driver = chrome_driver_file = os.path.join(os.path.join(tempDir,"Files"), "chromedriver.exe")
  123. os.environ["webdriver.chrome.driver"] = chrome_driver
  124. chrome_options = webdriver.ChromeOptions()
  125. chrome_options.add_argument("--test-type")
  126. #chrome_options.add_argument("user-data-dir="+os.path.abspath(r"D:\Temp\selenium2\User Data"))
  127. chrome_options.add_argument("user-data-dir="+os.path.abspath(r"C:\Users\eli\AppData\Local\Google\Chrome\User Data"))
  128. driver = webdriver.Chrome(executable_path=chrome_driver,
  129. chrome_options=chrome_options)
  130. driver.get("http://www.baidu.com")
  131. if __name__ == "__main__":
  132. # 2.启动浏览器时自动加载插件, 如Firefox -> Firebug ; Chrome -> Chrome to Mobile
  133. # start_firefox_with_firebug_plug()
  134. # start_chrome_with_chrometomobile_plug()
  135. # start_firefox_with_default_settings()
  136. start_chrome_with_default_settings()
  137. # 1.启动各种浏览器
  138. #startFirefox()
  139. #startFirefoxWithSpecificLocation()
  140. #startChrome()
  141. #startIE()

Python启动浏览器Firefox\Chrome\IE的更多相关文章

  1. selenium webdriver 启动三大浏览器Firefox,Chrome,IE

    selenium webdriver 启动三大浏览器Firefox,Chrome,IE 1.安装selenium 在联网的情况下,在Windows命令行(cmd)输入pip install selen ...

  2. selenium+python启动浏览器出错,安装浏览器驱动

    WebDriver 支持 Firefox (FirefoxDriver).IE (InternetExplorerDriver).Opera (OperaDriver) 和 Chrome (Chrom ...

  3. 【Selenium】各浏览器(firefox,chrome,ie)驱动下载地址汇总

    前两天使用Selenium分布式时,总抛出异常.更新成最新驱动可以解决.其中chrome异常如下, "platform": "WINDOWS" File &qu ...

  4. 用Python+selenium打开IE浏览器和Chrome浏览器的问题

    这几天在学Python+selenium自动化,对三大浏览器Firefox,Chrome和IE都做了尝试,也都分别下载了对应的webdriver,如:geckodriver.chromedriver. ...

  5. selenium + firefox/chrome/phantomjs登陆之模拟点击

    登陆之模拟点击 工具:python/java + selenium + firefox/chrome/phantomjs (1)windows开发环境搭建 默认已经安装好了firefox 安装pip ...

  6. Selenium2学习-005-WebUI自动化实战实例-003-三种浏览器(Chrome、Firefox、IE)启动脚本源代码

    此文主要通过 三种浏览器(Chrome.Firefox.IE)启动脚本 功能,进行 Selenium2 三种浏览器启动方法的实战实例讲解.文中所附源代码于 2015-01-18 20:33 亲测通过, ...

  7. python脚本中selenium启动浏览器报错os.path.basename(self.path), self.start_error_message) selenium.common.excep

    在python脚本中,使用selenium启动浏览器报错,原因是未安装浏览器驱动,报错内容如下: # -*- coding:utf-8 -*-from selenium import webdrive ...

  8. 各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转]

    各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转] 网站通过 Cookie 保存了我们访问网站的信息,在不同的浏览器中修改 Cookie 可以如下操作: Firef ...

  9. IE/Firefox/Chrome等浏览器保存Cookie的位置

    IE/Firefox/Chrome等浏览器保存Cookie的位置 原文  http://smilejay.com/2013/04/browser-cookie-location/   前面写了篇长文( ...

随机推荐

  1. 【原】PHPExcel导出Excel

    1.引入相关公共库PHPExcel 2.编写公共函数 public function exportExcel($excelTitle,$data,$filename='',$column_width= ...

  2. bootstrap中chosen控件样式有时会冲突

    加上这句话试试 $(".chosen-container").css("width","100%"); 或者 100%改成 100px试试

  3. c3p0 连接池配置

    C3P0 可使用properties 配置文件方式,将c3p0.properties放在classpath目录下,如果为WEB应用,放在WEB-INF\classes下 c3p0.properties ...

  4. 读取json文件并把uft-8转换为ascii

    #!/usr/bin/python import sys import json as js import codecs import collections #reload(sys) #sys.se ...

  5. everyday two problems / 3.1

    T1.string 题意: 给定由小写字母组成的长度为 n 的字符串 将其所有 n * (n + 1) / 2 个子串按字典序排序 输出第 k 个子串 k > (n * (n + 1) / 2) ...

  6. ES6的let和var声明变量的区别

    关于let的描述 let允许你声明一个作用域被限制在块级中的变量.语句或者表达式.与var关键字不同的是,它声明的变量只能是全局或者整个函数块的. 作用域规则 let声明的变量只在其声明的块或子块中可 ...

  7. ZOJ 3233 Lucky Number

    Lucky Number Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Original I ...

  8. iOS: 将OC的NSMutableArray转为Swift的Array

    一句话: YourSwiftObject convertedArray = your_MutableArray as NSArray as [YourSwiftObject]

  9. JS 缓冲运动 带运动的留言本 小案例

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  10. HDU 4598

    这道题其实不需要考虑具体数值,但可以肯定的是,相连边的两端点必定有一正一负,至于谁正谁负,并不重要,这是可以思考的,很明显的一个二分图性质,如果不满足此条件,是不可能满足题目第二个条件的.所以首先对题 ...