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()
  • 相关阅读:
    2019-2020-2 网络对抗技术 20175206李得琛 Exp5 信息搜集与漏洞扫描
    2019-2020-4 网络对抗技术 20175206李得琛 Exp4 恶意代码分析
    2019-2020-2 网络对抗技术 20175206李得琛 Exp3 免杀原理与实践
    2019-2020-2 网络对抗技术 20175206李得琛 Exp2 后门原理与实践
    2019-2020-2 网络对抗技术 20175206李得琛 Exp1 PC平台逆向破解
    ucos作业
    实现ls及ls的改进ls的实现
    stat命令的实现-mysate
    2019-2020-1 20175203 20175206 实验五 通讯协议设计
    第八周测试课下补交
  • 原文地址:https://www.cnblogs.com/jerryspace/p/9887153.html
Copyright © 2011-2022 走看看