zoukankan      html  css  js  c++  java
  • Selenium+PhantomJS使用时报错原因

    运行下面代码:
    '''
    PhantomJS运用
    '''

    from selenium import webdriver
    import time

    # 通过keys模拟键盘
    from selenium.webdriver.common.keys import Keys

    # 操作哪个浏览器对哪个浏览器建一个实例
    # 自动按照环境变量查找相应的浏览器
    driver = webdriver.PhantomJS()

    # 如果浏览器没有在相应环境变量中,需要指定浏览器位置
    driver.get("http://www.baidu.com")

    # 通过函数查找title标签
    print("Title: {0}".format(driver.title))

    报错信息:

    UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
    warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

    大概意思是:

    selenium已经放弃PhantomJS,了,建议使用火狐或者谷歌无界面浏览器。

    解决方案:

    方案一:降级selenium

    pip install selenium==2.48.0

    方案二:使用火狐或谷歌

    下面使用谷歌方法:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time

    driver = webdriver.Chrome()
    url = "http://www.baidu.com"

    driver.get(url)

    text = driver.find_element_by_id('wrapper').text
    print(text)

    print(driver.title)

    # 得到页面的快照
    driver.save_screenshot('index.png')

    # id = "kw" 是百度的输入框,我们得到输入框后,直接输入"大熊猫"
    driver.find_element_by_id('kw').send_keys(u"大熊猫")

    # id = "su" 是百度搜索的按钮 + click模拟点击
    driver.find_element_by_id('su').click()

    time.sleep(5)
    driver.save_screenshot("daxiongmao.png")

    # 得到当前页面的cookie
    print(driver.get_cookies())

    # 模拟输入两个按键 ctrl+a
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')

    # ctrl + x 剪切
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')

    driver.find_element_by_id('kw').send_keys(u'航空母舰')
    driver.save_screenshot('hangkongmujian.png')

    driver.find_element_by_id('su').send_keys(Keys.RETURN)

    time.sleep(5)
    driver.save_screenshot('hangmu2.png')

    driver.find_element_by_id('kw').clear()
    driver.save_screenshot('clear.png')

    # 关闭浏览器
    driver.quit()
  • 相关阅读:
    EL表达式 与 servlvet3.0的新规范
    回调函数
    结构体
    指针函数 和 函数指针
    BCC校验(异或和校验)
    stm32 USART串口通信
    stm32 中断
    Systick系统滴答定时器
    stm32f7 时钟
    按键连按和不连按
  • 原文地址:https://www.cnblogs.com/jerryspace/p/9887153.html
Copyright © 2011-2022 走看看