首页 > 其他分享 >selenium获取user-agent

selenium获取user-agent

时间:2023-05-17 16:01:02浏览次数:40  
标签:info webdriver request selenium agent user path browser

网上找了好多资料,都是说怎么设置请求头的信息。
却没有说怎么获取由 selenium 提交的请求头。
尝试了好久,总结了一个办法,下面上代码:

from selenium import webdriver

driver_path = r'F:\driver\chromedriver.exe'    # 这是chrome驱动路径

# 自定义代理IP 及 请求头。
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--proxy-server=http://218.93.119.165:9002")  
chromeOptions.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"')
                            
browser = webdriver.Chrome(executable_path=driver_path, chrome_options=chromeOptions)
# 新版本selenium,建议使用options替代chrome_options,如下。
# browser = webdriver.Chrome(executable_path=driver_path, options=chromeOptions)

browser.get("http://httpbin.org/ip")    # 查看IP是否切换。
print(browser.page_source)

# 获取请求头信息
agent = browser.execute_script("return navigator.userAgent")    
print(agent)   # 查看请求头是否更改。

  

下面方法,在之前的chrome版本中可行,现已失效。

 

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import json

# 设置变量url,用于浏览器访问。
url = 'https://www.baidu.com/'

# 关键步骤 1:下面两行代码是用来设置特性,获取request的信息前提步骤。
d = DesiredCapabilities.CHROME
d['loggingPrefs'] = {'performance': 'ALL'}


path = 'D:\work\chromedriver.exe'
browser = webdriver.Chrome(executable_path=path)

# 打开浏览器并访问网址
browser.get(url)

# 关键步骤2:获取 request 信息。
info = browser.get_log('performance')    # 这里的参数 'performance' 是步骤1中添加的。获取到的是一个列表。

# 用 for循环读取列表中的每一项元素。每个元素都是 json 格式。
for i in info:
    dic_info = json.loads(i["message"])    # 把json格式转成字典。
    info = dic_info["message"]['params']    # request 信息,在字典的 键 ["message"]['params'] 中。
    if 'request' in info:    				# 如果找到了 request 信息,就终断循环。
        print(info['request'])
        break

  

 

标签:info,webdriver,request,selenium,agent,user,path,browser
From: https://www.cnblogs.com/pythonClub/p/17409028.html

相关文章

  • serverAgent运行后,执行jmeter脚本serverAgent闪退问题
     系统的jre环境和serverAgent所需的jre不匹配,根据网上搜的办法,下载一个低版本的jre,然后放到serverAgent目录下:步骤1、下载低版本jre:下载的是18.0.2.1版本2、下载后,放到serverAgent文件路径下 3、用notepad++打开startAgent.bat,添加jre的路径:@echooffcdD:\apache-jme......
  • selenium爬虫被检测到如何破?
    Selenium爬虫在爬取数据时可能会被网站检测到,这是因为Selenium模拟了浏览器行为,而相对于真实用户的浏览器,Selenium模拟无法识别JavaScript代码和CSS文件。此外,网站也可能通过检测请求头、IP地址、Cookie等信息来判断是否是爬虫。以下是一些可能导致Selenium爬虫被检测到的原因:1......
  • SSM整合报错:errorCode 1045, state 28000 java.sql.SQLException: Access denied for
    SSM整合报错:errorCode1045,state28000java.sql.SQLException:Accessdeniedforuser简述SSM整合项目配置好环境后,当要对数据库进行操作,加载jdbc.properties数据库配置文件时,出现下面的报错createconnectionSQLException,url:jdbc:mysql://localhost:3306/furn_ssm,......
  • OEM13.5安装推送客户端报错Executing command emctl secure agent
     OEM13.5安装推送客户端报错Executingcommandemctlsecureagent 现象: 建议部分显示如下方案:1../emctlsecureagent2../emctlstartagent3../emctlconfigagentaddinternaltargets  结合EM13c:EnterpriseManagerCloudControlAgentInstallation......
  • Python_报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Op
    解决:https://blog.csdn.net/Jimmmyking/article/details/126105788作为mac的用户,如果你还没安装Homebrew那真的就太遗憾了,应为其真的很好用,然后安装Homebrew有时候有不是那么简单,会出现很多奇奇怪怪的错误,如下是我本人第一次安装就成功,其重要用的是中科大的brew主体,使用这个只需......
  • Python自动化测试篇:Selenium
    所谓自动糊测试就是用程序模拟用户在浏览器上的操作,可以通过程序实现在文本框中自动输入内容,点击按钮等操作。一:安装chromedriverhttps://chromedriver.storage.googleapis.com/index.html或者https://npm.taobao.org/mirrors/chromedriver/下载和自己的浏览器版本号一致的驱......
  • ubuntu22.04 ssh连接失败 userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedA
    userauth_pubkey:keytypessh-rsanotinPubkeyAcceptedAlgorithms[preauth]sshd[14785]:error:Receiveddisconnectfromxxxxport45190:3:com.jcraft.jsch.JSchException:Authfail[preauth]OpenSSH从8.7以后版本开始默认不支持ssh-rsa签名的方式,需要手动设置解决......
  • AutoGPT与LLM Agent解析
    前两周AutoGPT,BabyAGI等项目异常火爆,周末也正好花了点时间来看了下这些AIagent类项目的代码,写篇文章来总结一下对于当前这类项目进展的技术角度认识和思考,与大家一同交流。从语言理解到任务执行之前大多相关项目和产品都主要利用了GPT模型的语言理解方面的能力,例如生成文......
  • openstack的用户(user), 租户(tenant), 角色(role)概念区分
     用户身份管理有三个主要的概念:用户Users租户Tenants角色Roles1.定义这三个概念的openstack官网定义(点击打开链接)1.1用户(User)openstack官网定义User为“InOpenStackIdentity,entitiesrepresentindividualAPIconsumersandareownedbyaspecificdomain.InOp......
  • 【Windows】ApifoxAppAgent开机启动项删除
    ✨ApifoxAppAgent首先建议使用GeekUninstaller卸载卸载会检测软件残留痕迹并清除然而在开机启动项仍然存在名为ApifoxAppAgent残留项✨解决方案搜索注册表编辑器或者regedit在注册表编辑器中,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run......