• Selenium启动Firefox示例(python版)


    目前做selenium自动化使用的主流语言分为java和python,前一篇为java版,本篇介绍python实现selenium启动Firefox。

     1 #-*- coding:utf-8 -*-
     2 
     3 from selenium import webdriver
     4 from selenium.common.exceptions import NoSuchElementException, TimeoutException
     5 from selenium.webdriver.remote.webelement import WebElement
     6 from selenium.webdriver.support.ui import WebDriverWait  # available since
     7 from selenium.webdriver.common.keys import Keys
     8 
     9 from time import sleep
    10 import os, time
    11 
    12 # driver = webdriver.Chrome("D:Downloadschromedriver.exe")
    13 driver = webdriver.Firefox()
    14 print u"加载驱动完成.."
    15 driver.get("https://ww.baidu.com")  # 加载页面
    16 print u"加载页面完成.."
    17 
    18 sleep(1)
    19 
    20 try:
    21     assert u"百度一下" in driver.title
    22     print ('Assertion baidu title pass.')
    23 
    24     elements = driver.find_elements_by_tag_name("input")
    25 
    26     for e in elements:
    27         if e.get_attribute("type")=="text":
    28             print e.text
    29             e.send_keys("123456")
    30             # print e.tag_name
    31             # print e.location
    32 except Exception as e:
    33     print ('Assertion baidu title fail.', format(e))
    34 
    35 driver.maximize_window()  # 浏览器全屏显示
    36 driver.close()

    注意:可能会遇到一些报错 
    1. geckodriver.exe没有放到python安装目录下,这一类报错。 
    2. python demo.py 执行后,找不到文件,说明没有通过cd命令切换到demo.py所在的文件夹路径。 
    3.打开火狐浏览器了,但是没有获取到url地址 
    4.火狐浏览器打开且进入百度网页后关闭火狐浏览器时,提示浏览器遇到一个错误,停止运行了

    针对 问题 3、4,我这边是通过降低Firefox浏览器的版本(如果遇到一下这类问题或相关浏览器调用问题,可升级或降低 selenium 和 firefox 的版本 进行兼容)

    总结: 
    通过上面代码,和本文,基本了解了如何打开和关闭浏览器。如果想打开IE或者Chrome浏览器,也需要下载对应浏览器的driver.exe文件

    ① 在chrome 下运行脚本,需要将chromedriver.exe 放在chrome浏览器安装目录下

    (同时设置用户环境变量path:C:UsersxxxxxxAppDataLocalGoogleChromeApplication;)

    ②2 在ie 下运行脚本,需要将IEDriverServer.exe 放在ie浏览器安装目录下

    (同时设置用户环境变量path:C:Program FilesInternet Explorer ),如果在调用浏览器遇到浏览器保护模式问题,可打开Ie浏览器–工具–Internet选项–安全–internet/本地intarnet/受信任的站点/受限制站点中的 启用保护模式全部勾选或者全部不选的勾去掉

    ③ 在firefox下运行脚本,直接调用(默认Python安装路径下,例如我的路径为:D:Program Files (x86)Python36geckdriver.exe)

  • 相关阅读:
    计蒜客 聪明的班主任(思维)
    codeforces 456 E. Civilization(并查集+数的直径)
    codeforces 456 D. A Lot of Games(字典数+博弈+思维+树形dp)
    codeforces 233 D. Table(思维+dp )
    codeforces 233 C. Cycles(贪心+思维)
    codeforces 814 D. An overnight dance in discotheque (贪心+bfs)
    codeforces 814 C. An impassioned circulation of affection(二分+思维)
    codeforces 813 D. Two Melodies(dp)
    Atcoder F
    Java正则表达式
  • 原文地址:https://www.cnblogs.com/muchengnanfeng/p/9507325.html
Copyright © 2020-2023  润新知