首页 > 编程语言 >python+playwright 学习-72 设置window.navigator.webdriver属性为false 跳过网站反爬检测。

python+playwright 学习-72 设置window.navigator.webdriver属性为false 跳过网站反爬检测。

时间:2023-08-19 15:34:21浏览次数:43  
标签:webdriver playwright 浏览器 window false navigator 属性

前言

有些网站有反爬机制,比如用代码启动的浏览器会被检测到,需要人机验证,用脚本去点击或者滑动滑动虽然能滑动,但是会认证失败。
用playwright 和 selenium 启动的浏览器都会用个webdriver 属性。浏览器会根据这个属性判断是否是人工正常操作。

window.navigator.webdriver属性

人工正常打开的浏览器 window.navigator.webdriver属性 为false

以下是通过playwright 打开的浏览器窗口,查看window.navigator.webdriver属性 为true

跳过反爬检测机制

在启动浏览器时添加以下配置项

args=['--disable-blink-features=AutomationControlled']

示例代码

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    # 非无痕模式启动
    browser = p.chromium.launch_persistent_context(
        # 指定本机用户缓存地址
        user_data_dir="D:\\chrome_userx\\yoyo",
        # 接收下载事件
        accept_downloads=True,
        # 设置 GUI 模式
        headless=False,
        bypass_csp=True,
        slow_mo=100,
        channel="chrome",
        # 跳过反爬检测
        args=['--disable-blink-features=AutomationControlled']
    )
    page = browser.new_page()  # 打开标签页
    page.goto("http://...../users/login/")


2023最新《Playwright+Python自动化测试》点我 ->立即参与
联系微信:283340479

标签:webdriver,playwright,浏览器,window,false,navigator,属性
From: https://www.cnblogs.com/yoyoketang/p/17642529.html

相关文章

  • python+playwright 学习-71 expect 断言设置timeout 超时和自定义错误内容
    前言playwright提供了一个expect方法用于断言,还可以设置超时时间。expect使用断言描述expect(locator).to_be_checked()Checkboxischeckedexpect(locator).to_be_disabled()Elementisdisabledexpect(locator).to_be_editable()Elementisenabled......
  • 2023年第 16期《Python接口自动化+Playwright 》课程,9月10号开学(课程全面升级!)!
    2023年第16期《Python接口自动化+Playwright》课程课程,9月10号开学(课程全面升级!)主讲老师:上海-悠悠上课方式:微信群视频在线教学,方便交流本期上课时间:2023年9月10号-2023年12月3号,晚上20:30-22:30报名费:报名费3000一人(周期3个月)联系微信/QQ:283340479课表如下直播课程主......
  • eTest 更新引入Playwright Trace &视频回放
    各位伙伴大家好,今天我们来聊一下eTest最近的更新修改,经过一个月的潜伏,我们继续深入自动化测试不断完善自动化测试,今天主要我们来聊下eTest_v1.1.22的版本更新带来的改变,主要是测试断言问题排查,功能一:之前eTest断言失败后,查看测试报告,只能看到错误的局部截图和全屏截图,只能了......
  • python+playwright 学习-70 一闪而过的提示消息如何定位
    前言页面上一闪而过的提示语,一般出现1-3秒就会消失,这种消息框如何定位呢?示例如下操作成功的提示语它过1-3秒就自动消失了,按下f12,鼠标还没指上去就不见了,无法获取它的元素属性。误区:首先这不是标准的alert,所以不能用dialog事件监听(很多初学者分不清alert和弹出消息框......
  • Playwright
    Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作。安装包:pipinstallplaywright安装浏览器驱动python-mplaywrightinstallCMD中输入:python-mplaywrighthelp查看帮助信息录制脚本:python-mplaywrightcodegen......
  • webdriver 的三种等待方式(强制等待、隐式等待、显示等待)
    在自动化测试脚本的运行过程中,webdriver操作浏览器的时候,对于元素的定位是有一定的超时时间,大致应该在1-3秒的样子,如果这个时间内仍然定位不到元素,就会抛出异常,中止脚本执行。我们可以通过在脚本中设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-11-playwright操作iframe-上篇
    1.简介原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了。但是还是有小伙伴或者童鞋们私下问这个问题,那么宏哥就单独写一篇关于iframe网页处理的文章。iframe是web自动......
  • 软件测试|web自动化测试神器playwright教程(三十)
    前言我们在进行自动化工作中,还会遇到表格的问题,比如下面的情况:如果我们想要获取表格内的数据,就需要我们先定位表格内的元素。table表格场景我们可以从表格结构中发现,table页面有这几个明显的标签:table、tr、th、tdtable标示一个表格tr标示这个表格的一行th定义表头......
  • 软件测试|web自动化测试神器playwright教程(三十一)
    前言我们都知道selenium可以操作命令行打开的Chrome浏览器,并且可以加载本地数据,因此我们可以绕过部分网站的登录步骤,直接对网站进行操作。如果我们不加任何参数,playwright打开的浏览器就是一个无痕浏览器,一般情况下,对我们测试人员来说,这一点并不影响我们的使用。但是playwright......
  • 软件测试|web自动化测试神器playwright教程(三十三)
    前言我们在使用selenium进行web自动化测试工作时,有时需要通过添加显式等待的方式,判断元素是否可见或者是否可以点击,其实这些元素属性也可以用于断言中,playwright同样可以去获取元素的状态,用于我们的后续操作或者断言中。本篇文章就来给大家介绍一下playwright对元素状态的判断。......