selenium设置chrome和phantomjs的请求头信息

 

出于反爬虫也好-跳转到手机端页面也好都需要设置请求头,那么如何进行呢?

目录

  • 一:selenium设置phantomjs请求头:
  • 二:selenium设置chrome请求头:
  • 三:selenium设置chrome–cookie:
  • 四:selenium设置phantomjs-图片不加载:

一:selenium设置phantomjs请求头:

可以复制下列代码运行,会访问https://httpbin.org/get?show_env=1  该网站能呈现你请求的头信息

来源于知乎回答

  1. # !/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. from selenium import webdriver
  4. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  5. dcap = dict(DesiredCapabilities.PHANTOMJS)
  6. dcap["phantomjs.page.settings.userAgent"] = (
  7. "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36"
  8. )
  9. driver = webdriver.PhantomJS(desired_capabilities=dcap)
  10. driver.get("https://httpbin.org/get?show_env=1")
  11. driver.get_screenshot_as_file('01.png')
  12. driver.quit()
  13. 链接:https://www.zhihu.com/question/35547395/answer/106652782

二:selenium设置chrome请求头:

来源http://www.cnblogs.com/TTyb/p/6128323.html 感恩原作者

如代码

  1. # !/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. from selenium import webdriver
  4. # 进入浏览器设置
  5. options = webdriver.ChromeOptions()
  6. # 设置中文
  7. options.add_argument('lang=zh_CN.UTF-8')
  8. # 更换头部
  9. options.add_argument('user-agent="Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20"')
  10. browser = webdriver.Chrome(chrome_options=options)
  11. url = "https://httpbin.org/get?show_env=1"
  12. browser.get(url)
  13. browser.quit()

三:selenium设置chrome–cookie:

cookie用于模拟登陆

  1. # !/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. from selenium import webdriver
  4. browser = webdriver.Chrome()
  5. url = "https://www.baidu.com/"
  6. browser.get(url)
  7. # 通过js新打开一个窗口
  8. newwindow='window.open("https://www.baidu.com");'
  9. # 删除原来的cookie
  10. browser.delete_all_cookies()
  11. # 携带cookie打开
  12. browser.add_cookie({'name':'ABC','value':'DEF'})
  13. # 通过js新打开一个窗口
  14. browser.execute_script(newwindow)
  15. input("查看效果")
  16. browser.quit()

四:selenium设置phantomjs-图片不加载:

  1. from selenium import webdriver
  2. options = webdriver.ChromeOptions()
  3. prefs = {
  4. 'profile.default_content_setting_values': {
  5. 'images': 2
  6. }
  7. }
  8. options.add_experimental_option('prefs', prefs)
  9. browser = webdriver.Chrome(chrome_options=options)
  10. # browser = webdriver.Chrome()
  11. url = "http://image.baidu.com/"
  12. browser.get(url)
  13. input("是否有图")
  14. browser.quit()

效果如图:

转载地址: 
https://www.urlteam.org/2017/02/selenium%E8%AE%BE%E7%BD%AEchrome%E5%92%8Cphantomjs%E7%9A%84%E8%AF%B7%E6%B1%82%E5%A4%B4%E4%BF%A1%E6%81%AF/

selenium设置chrome和phantomjs的请求头信息的更多相关文章

  1. 设置请求头信息User-Agent

    设置请求头信息User-Agent来模拟浏览器. 先来看User-Agent: 当我们向服务器发送请求时,浏览器会将一些头信息附加上,然后发给服务器. 如上图所示头信息(请求头信息 Request H ...

  2. 在AngularJs中怎么设置请求头信息(headers)及不同方法的比较

    在AngularJS中有三种方式可以设置请求头信息: 1.在http服务的在服务端发送请求时,也就是调用http()方法时,在config对象中设置请求头信息:事例如下: $http.post('/s ...

  3. php设置http请求头信息和响应头信息

    php设置http请求头信息和响应头信息 设置请求服务器的头信息可以用fsockopen,curl组件,header函数只能用来设置客户端响应的头信息,不能设置服务器的头信息. 例子;  一.head ...

  4. 自定义请求头信息及cookie信息

    请求网页的时候有时候我们需要传递一些参数信息,这个时候我们可以将参数放到请求头中,具体使用如下: 这里有小问题就是请求参数的属性名好像不支持下划线,即 HTTP_UID不可用,但是HTTP-UID就可 ...

  5. JAVA Serverlet 请求头信息和响应头信息

    <1>获取请求头信息 //获取请求头信息的全部名称 Enumeration<String> header = request.getHeaderNames(); while(h ...

  6. HTTP-Runoob:HTTP请求头信息

    ylbtech-HTTP-Runoob:HTTP请求头信息 1.返回顶部 1. HTTP 响应头信息 HTTP请求头提供了关于请求,响应或者其他的发送实体的信息. 在本章节中我们将具体来介绍HTTP响 ...

  7. js获取HTTP的请求头信息

    以下为js获取HTTP的全部请求头信息: var req = new XMLHttpRequest(); req.open('GET', document.location, false); req. ...

  8. 【转】iOS中修改AVPlayer的请求头信息

    在开发中, 我们经常需要在网络请求时修改HTTP/HTTPS的请求头信息 1.普通AFN请求 #import "LMHTTPSessionManager.h" #import &l ...

  9. PHP获取客户端请求头信息

    获取HTTP请求头信息 Apache 如果web服务器用的是apache,可以直接用php的库函数getallheaders() Nginx 如果web服务器用的是nginx,则无法直接使用getal ...

随机推荐

  1. java+appium 自动化环境搭建

    1.安装JDK1.7及以上 2.下载解压sdk并且配置环境变量: ANDROID_HOME:...\adt-bundle-windows-x86_64-20140702\sdk PATH:%ANDRO ...

  2. 细说Django的中间件

    分析Django的生命周期,我们知道所有的http请求都要经过Django的中间件. 假如现在有一个需求,所有到达服务端的url请求都在系统中记录一条日志,该怎么做呢? Django的中间件的简介 D ...

  3. Confluence 6 配置 Office 转换器

    Office 连接器(Office Connector)允许 Confluence 用户能够查看和编辑从 Microsoft Office 和 Open Office 中导入并附加到页面的内容. Of ...

  4. SpringData分页功能

    在SpringData中实现分页功能我们需要将接口实现PagingAndSortingRepository这个接口提供了分页查询的方法 Page<T> findAll(Pageable p ...

  5. AngularJs中,如何在ng-repeat完成之后,执行Js脚本

    //ng-repeat生成4个li,生成后再执行自定义方法fn在每个li后加一根横线 <script> var myapp=angular.module('myapp',[]); myap ...

  6. 【ssh】端口转发

    来源:https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 非常非常好用,可以通过跳板解决两台服务器无法连接的问题 第一部分 概述 ...

  7. java 关键字transient

    http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口 ...

  8. The import util cannot be resolved

    代码: 明显的错误: 应改成 import java.util.*; 没有理解java的基本概念

  9. 理解并设计rest/restful风格接口

    网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...

  10. C++ Primer 笔记——重载运算

    1.对于二元运算符来说,左侧运算对象传递给第一个参数,而右侧运算对象传递给第二个参数.除了重载的函数调用运算符operator()之外,其他重载元素运算符不能含有默认实参. class test { ...