美文网首页我爱编程
爬虫利器--无界面浏览器+selenium

爬虫利器--无界面浏览器+selenium

作者: 紫弟 | 来源:发表于2018-05-13 21:47 被阅读0次

    自动化测试工具,seleium
    pip install selenium

    无界面浏览器PhantomJS

    PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript,因为不会展示图形界面,所以运行起来比完整的浏览器要高效。

    注意:PhantomJS 只能从它的官方网站(http://phantomjs.org/download.html)下载。 因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。

    # 导入 webdriver
    from selenium import webdriver
    
    # 要想调用键盘按键操作需要引入keys包
    from selenium.webdriver.common.keys import Keys
    
    # 调用环境变量指定的PhantomJS浏览器创建浏览器对象
    driver = webdriver.PhantomJS()
    
    # 如果没有在环境变量指定PhantomJS位置
    # driver = webdriver.PhantomJS(executable_path="./phantomjs"))
    
    # get方法会一直等到页面被完全加载,然后才会继续程序,通常测试会在这里选择 time.sleep(2)
    driver.get("http://www.baidu.com/")
    
    # 获取页面名为 wrapper的id标签的文本内容
    data = driver.find_element_by_id("wrapper").text
    
    # 打印数据内容
    print data
    
    # 打印页面标题 "百度一下,你就知道"
    print driver.title
    
    # 生成当前页面快照并保存
    driver.save_screenshot("baidu.png")
    
    # id="kw"是百度搜索输入框,输入字符串"长城"
    driver.find_element_by_id("kw").send_keys(u"长城")
    
    # id="su"是百度搜索按钮,click() 是模拟点击
    driver.find_element_by_id("su").click()
    
    # 获取新的页面快照
    driver.save_screenshot("长城.png")
    
    # 打印网页渲染后的源代码
    print driver.page_source
    
    # 获取当前页面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("itcast")
    
    # 模拟Enter回车键
    driver.find_element_by_id("su").send_keys(Keys.RETURN)
    
    # 清除输入框内容
    driver.find_element_by_id("kw").clear()
    
    # 生成新的页面快照
    driver.save_screenshot("itcast.png")
    
    # 获取当前url
    print driver.current_url
    
    # 关闭当前页面,如果只有一个页面,会关闭浏览器
    # driver.close()
    
    # 关闭浏览器
    driver.quit()
    

    相关文章

      网友评论

        本文标题:爬虫利器--无界面浏览器+selenium

        本文链接:https://www.haomeiwen.com/subject/pplrdftx.html