zoukankan      html  css  js  c++  java
  • selenium调用Firefox和Chrome需要注意的一些问题,和出现的报错selenium:expected [object undefined] undefined to be a string

    在高版本selenium下如:selenium3.4.3

    1.高版本的selenium需要浏览器安装一些补丁驱动

    Firefox:geckodriver
    下载网址:http://download.csdn.net/detail/ztzy520/9725887 或https://github.com/mozilla/geckodriver/release
    如:geckodriver-v0.14.0-win32
    Chrome:chromedriver
    下载网址:http://chromedriver.storage.googleapis.com/index.html
    如:http://chromedriver.storage.googleapis.com/index.html?path=2.30/下
    版本:chromedriver_win32.zip

    2.直接将geckodriver和chromedriver放到浏览器的目录下

    如geckodriver放到路径 C:Program Files (x86)Mozilla Firefox
    如chromedriver放到路径 C:Program Files (x86)GoogleChromeApplication

    3.调用方式

    #方式一:设置火狐浏览器驱动(使用低于53.0版本火狐,如52.0.2,不然会报错selenium:expected [object undefined] undefined to be a string)
    driver = webdriver.Firefox()
    # 方式二:设置谷歌浏览器驱动
    chromedriver = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)

    4.具体测试代码(demo1.py):

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    import os
    #=====================================================================
    # 方式一:设置火狐浏览器驱动
    driver = webdriver.Firefox()
    #=====================================================================
    # 方式二:设置谷歌浏览器驱动
    #chromedriver = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"
    #os.environ["webdriver.chrome.driver"] = chromedriver
    #driver =  webdriver.Chrome(chromedriver)
    #=====================================================================
    driver.get("http://www.baidu.com")
    assert u"百度" in driver.title
    elem = driver.find_element_by_name("wd")
    elem.clear()
    elem.send_keys(u"网络爬虫")
    elem.send_keys(Keys.RETURN)
    time.sleep(3)
    assert u"网络爬虫." not in driver.page_source
    driver.close()

    注释:要解决调用火狐是出现"selenium:expected [object undefined] undefined to be a string"问题,需要将火狐的版本降低到53.0以下,如

    52.0.2
  • 相关阅读:
    微信公众号开发(二)用户关注
    搭建git服务器
    微信公众号开发(三)生成带参数的二维码
    windows 安装多个mysql
    微信公众号开发(一)前期 配置
    支付宝接口之条码支付
    mysql8.0 安装 修改密码 允许远程连接
    区块链开发金融交易平台
    区块链开发 在金融融资交易平台中的优势
    2019年区块链金融交易所钱包开发需要多少钱
  • 原文地址:https://www.cnblogs.com/xiaomingzaixian/p/7281766.html
Copyright © 2011-2022 走看看