python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求 隐藏chrome

这篇具有很好参考价值的文章主要介绍了python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求 隐藏chrome。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装chromedriver

下载

chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。

有两个下载地址:

1、http://chromedriver.storage.googleapis.com/index.html

2、CNPM Binaries Mirror

当然,你首先需要查看你的Chrome版本,在浏览器中输入chrome://version/

python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求
隐藏chrome

 放chromedriver在chrome安装目录

python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求
隐藏chrome

 默认目录一般为:C:\Program Files\Google\Chrome\Application

获取网页源码

from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get(a[0])#填url
time.sleep(3)
b=browser.page_source
print(b)

常用配置参数:

# 添加UA
options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')
 
# 指定浏览器分辨率
options.add_argument('window-size=1920x3000')
 
# 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-gpu')
 
 # 隐藏滚动条, 应对一些特殊页面
options.add_argument('--hide-scrollbars')
 
# 不加载图片, 提升速度
options.add_argument('blink-settings=imagesEnabled=false')
 
# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
options.add_argument('--headless')
 
# 以最高权限运行
options.add_argument('--no-sandbox')
 
# 手动指定使用的浏览器位置
options.binary_location = r"C:Program Files (x86)GoogleChromeApplicationchrome.exe"
 
#添加crx插件
option.add_extension('d:crxAdBlock_v2.17.crx')
 
# 禁用JavaScript
option.add_argument("--disable-javascript")
 
# 设置开发者模式启动,该模式下webdriver属性为正常值
options.add_experimental_option('excludeSwitches', ['enable-automation'])
 
# 禁用浏览器弹窗
prefs = { 
    'profile.default_content_setting_values' :  { 
        'notifications' : 2 
     } 
} 
options.add_experimental_option('prefs',prefs)
 
# 添加代理 ip
options.add_argument("--proxy-server=http://XXXXX.com:80")
 
driver = webdriver.Chrome(chrome_options=chrome_options)

XPATH获取元素

    content=browser.find_element(value='//*[@id="img-content"]',by=By.XPATH)
    print(content.text)

隐藏chrome

chrome_opts = webdriver.ChromeOptions()
chrome_opts.add_argument("--headless")
browser = webdriver.Chrome(options=chrome_opts)

最小化浏览器窗口

browser = webdriver.Chrome(options=chrome_opts)
browser.minimize_window()

点击元素 写入元素 生成随机字符串

ming=''.join(random.choice(string.ascii_letters+ string.digits) for _ in range(12))
print(ming)
browser.find_element(value='//*[@id="name"]', by=By.XPATH).send_keys(ming)
browser.find_element(value='//*[@id="email"]', by=By.XPATH).send_keys(ming+'@qq.com')

browser.find_element(value='//*[@id="imtype"]', by=By.XPATH).click()
time.sleep(1)
browser.find_element(value='/html/body/div[1]/div/section/div/div[6]/div/div/ul/li[2]/a', by=By.XPATH).click()

点击第一个谷歌搜索结果

browser.find_element(value='//*[@id="rso"]/div[1]/div/div[1]/div/div/div[1]/div/a/h3', by=By.XPATH).click()

Python往文件追加内容

f = open('test.txt', 'a')
f.write('Hello Everyone\n')
f.close()

Selenium设置页面超时时间-快速终止页面加载

当使用Selenium爬取一些页面时,有些页面加载速度特别慢,而我们又不需要等待页面完全加载完毕。
此时可以通过driver.set_page_load_timeout()来设置页面超时时间。
捕获异常,并执行js脚本window.stop()即可实现,代码如下。

from selenium import webdriver

driver = webdriver.Chrome()
driver.set_page_load_timeout(3)

try:
    driver.get('https://hk.louisvuitton.com/zht-hk/homepage')
    print('finish load ....')
except Exception:
    driver.execute_script('window.stop()')
    print(driver.title)
finally:
    driver.quit()

pj网页防止开发者模式

使用 CDP(Chrome Devtools-Protocol),您可以在 JS 文件(检测器)加载框架之前运行代码。因此,使用这些代码删除“webdriver True”属性:

Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })

关键代码:

from selenium.webdriver import Chrome
driver = Chrome('D://chromedriver.exe')
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get('http://pythonlearner.com')

但是,如果您现在将 Chrome 升级到 88。上面提到的方法将毫无用处。幸运的是,我们仍然有一个解决方案(添加此代码)

chrome_options.add_argument("--disable-blink-features=AutomationControlled")

截取数据请求

from seleniumwire import webdriver

browser = webdriver.Chrome("chromedriver.exe")
browser.request_interceptor = interceptor_request
browser.response_interceptor = interceptor_response
browser.get("http://localhost:8088/inner/t4")

for request in browser.requests:
    print(request.url)
    print(request.response.body)

Selenium-处理滑块验证码-openCV识别

opencv基础操作

#opencv基础操作
import cv2
#图像的基本操作
#图像的读取
#img cv2.imread(''")
#查看对应的像素
#img[120,120]
img[120,120]=[255,255,0]
#修改图像尺寸
resized=cv2.resize(img,(960,540))
#修改窗口尺寸
cv2.namedWindow("img",0)
cv2.resizeWindow("img",640,480)
#图像展示
#cv2.imshow('img',img)
#图像写入
cv2.imwrite('',img)
cv2.imencode('.jpg',img)[1].tofile('')
#等待用户按下任意键的时间
cv2.waitKey()#括号里的是时间,单位是ms
#销毁窗口
cv2.destroyAlLWindows()#销毁当前所有正在显示的窗口
#1、隐藏Chrome 正受到自动测试软件的控制
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(options=chrome_options)

F12进入调试界面总是停留在Paused in debugger解决办法

有时候我们在某个界面点击F12后,页面会出现下面这样的按钮,导致无法对界面进行实时操作:
python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求
隐藏chrome
我使用的是edge浏览器,解决办法如下:
python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求
隐藏chrome
点击上面的禁止按钮,再点击一下页面上下面的按钮就可以了!
python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求
隐藏chrome

Playwright 为现代 web 应用提供了跨浏览器、快速且可靠的端到端的测试能力。 | Playwright 中文文档 | Playwright 中文网

参考:selenium 安装与 chromedriver安装 - Rogn - 博客园 (cnblogs.com)

python 用seleniumwire模块获取网站登陆后的请求头token字符串数据_井底 之鱼的博客-CSDN博客

【浅记】使用seleniumwire滑动极兔滑块_seleniumwire拖动滑动_Docda的博客-CSDN博客

https://www.cnblogs.com/qlqwjy/p/16519286.html

python selenium 保存网页缓存,保持登录 https://www.cnblogs.com/royfans/p/16714805.html

 文章来源地址https://www.toymoban.com/news/detail-425109.html

到了这里,关于python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求 隐藏chrome的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Selenium网页自动化利器使用详解

    Selenium是一个自动化测试工具,主要用于模拟用户在Web应用程序中的交互操作。虽然它最初被设计用于自动化测试,但也被广泛用于网页数据抓取、网页自动化操作和网页测试。 首先,需要安装Selenium库。使用pip来安装Selenium: 1 pip install selenium 此外,需要下载并安装一个浏览

    2024年01月18日
    浏览(55)
  • Python爬虫基础(三):使用Selenium动态加载网页

    Python爬虫基础(一):urllib库的使用详解 Python爬虫基础(二):使用xpath与jsonpath解析爬取的数据 Python爬虫基础(三):使用Selenium动态加载网页 Python爬虫基础(四):使用更方便的requests库 Python爬虫基础(五):使用scrapy框架 (1)Selenium是一个用于Web应用程序测试的工具。

    2024年02月06日
    浏览(47)
  • Python网页抓取- python selenium使用方法和代码示例

    Selenium可以模拟网页操作,抓取页面内容,主要通过webdriver模块实现,为了方便理解,按照实例的操作步骤逐一介绍(函数参数不具体展开,参考下面代码实例即可理解): 获取browser实例 通过webdriver.Chorme(), webdriver.Edge(), webdriver.Firefox(), 来获取browser实例: browser = webdriver.C

    2024年01月23日
    浏览(58)
  • Python使用Selenium Webdriver爬取网页所有内容

    有时候,我们在用urllib或者requests库抓取页面时,得到的html源代码和浏览器中看到的不一样。这将是我们面临的一个非常常见的问题。现在网页越来越多地采用Ajax、前端模块化工具来构建,整个网页可能都是由JavaScript渲染出来的,也就是说原始的HTML代码可能就是一个空壳,

    2023年04月08日
    浏览(35)
  • Python爬虫|使用Selenium轻松爬取网页数据

    1. 什么是selenium? Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作浏览器一样。支持的浏览器包括IE,Firefox,Safari,Chrome等。 Selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用

    2024年02月04日
    浏览(46)
  • Python爬虫——Selenium在获取网页数据方面的使用

    目录 一、Selenium (一)引入  (二)启动浏览器 二、操作 (一)点击 (二)输入 三、数据获取 四、特点 五、抓取拉钩实例 六、其他操作 (一)窗口切换 代码 (二)操作下拉列表/无头浏览器 代码         一个电影票房的网站里,响应数据是一串完全看不懂的字符串

    2024年02月07日
    浏览(42)
  • Selenium教程__使用switch_to.frame处理网页框架切换(13)

    与在新窗口打开一个网页后需要切换窗口才能定位元素一样,在iframe标签中的元素也不能直接定位,需要切换到对应的iframe框架中才能进行元素定位。 完成网页框架切换操作需要用selenium中的两个方法 driver.switch_to.frame(frame_reference):切换到网页框架内,frame_reference为框架元素

    2024年02月06日
    浏览(41)
  • Python使用selenium自动打开网页、输入账号密码并登录

    此处示例使用 谷歌Chrome浏览器 ,打开指定网页,输入账号密码,并登录; 代码思路如下: ① 加载Chrome浏览器 驱动程序 (下载地址)         具体下载方式可以参考:使用selenium自动打开谷歌浏览器 ② 打开url 链接(此处建议sleep等待一下,避免网速或内存不良时,导致网

    2024年02月11日
    浏览(73)
  • 华纳云:Python中如何使用Selenium爬取网页数据

    这篇文章主要介绍“Python中如何使用Selenium爬取网页数据”,在日常操作中,相信很多人在Python中如何使用Selenium爬取网页数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中如何使用Selenium爬取网页数据”的疑惑有所帮助!接下

    2024年02月07日
    浏览(58)
  • 嗨,各位Python程序员,放弃selenium,试试年轻的Playwright如何?

    上一篇博客我们首次接触年轻的自动化模块 playwright ,惊讶于其代码录制功能,今天咱们接着学习一下,其 API 相关知识。 正式学习前,先把基础示例代码呈现给大家。 注意上述代码使用的不是 无头浏览器 ,运行代码得到请求站点的标题,下面继续对代码进行扩展。 通过浏

    2023年04月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包