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. 6 个 Linux 运维典型问题,大牛的分析解决思路在这里

    作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...

  2. Uncaught TypeError: str.replace is not a function

    在做审核页面时,点击审核通过按钮不执行 后来F12控制台查看发现有报错 是因为flisnullandxyzero未执行 然后找出这个方法,此方法为公共方法,将这个方法复制出来 然后使用console. ...

  3. php第十八节课

    PDO 对不同的数据库连接使用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  4. Win32 线程同步

    Win32 线程同步 ## Win32线程同步 ### 1. 原子锁 ### 2. 临界区 {全局变量} CRITICAL_SECTION CS = {0}; // 定义并初始化临界区结构体变量 {线 ...

  5. 理解Mysql prepare预处理语句

    MySQL 5.1对服务器一方的预制语句提供支持.如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势.候选界面包括MySQL C API客 ...

  6. CF51F Caterpillar (边双+树形DP)

    题目传送门 题目大意:给你一张n个点m条边的图.每次操作可以把两个点合并成一个(与之相连的边也都要连到新点上).求把图中每个联通块都变成“毛毛虫”的最小操作次数.“毛毛虫”必须是一棵树(可以存在自环) ...

  7. [luogu2591 ZJOI2009] 函数

    传送门 Solution 画图找规律.. Code //By Menteur_Hxy #include <cstdio> #define min(a,b) ((a)>(b)?(b): ...

  8. 腾讯云&硬盘信息

    fly@UBT-sCloud:~/pub_work/05-ARM/00-s5pv210$ sudo fdisk -lDisk /dev/ram0: 64 MiB, 67108864 bytes, 13 ...

  9. 多校第六场 1003 hdu 5355 Cake(贪心)

    题目链接:(数据加强后wa了) hdu 5355 题目大意: 给出一个蛋糕.切成1~n大小的n块.问是否能在不继续分割的情况下拼凑出m等份. 题目分析: 首先我们是可以知道每份蛋糕的尺寸的,利用n*( ...

  10. HashMap源代码剖析

    大部分思路都是一样的 .仅仅是一些细节不一样.源代码中都标了出来.jdk容器源代码还是挺简单的. public class HashMap<K,V> extends AbstractMap ...