首页 > 系统相关 >【python】在 Linux 中使用webdriver有头模式

【python】在 Linux 中使用webdriver有头模式

时间:2024-06-23 09:29:54浏览次数:24  
标签:webdriver python 图形界面 使用 xvfb 有头 模式 Xvfb Linux

用webdriver 模拟浏览网页时,可以使用无头模式,尤其在linux系统中,因为linux没有图形化界面,使用有头模式一般会报错。

chrome_options.add_argument("--headless")  # 设置Chrome无头模式

但是有些网站的反爬措施比较严格,使用无头模式会被识别出来,直接拒绝访问,这时候,就得使用有头模式,但是linux没有图形化界面,这时候就需要搞一个假的图形界面出来,从而欺骗浏览器,让它的有头模式能够正常使用。

为了达到这个目的,我们可以使用一个叫做 Xvfb的东西。

Xvfb 在一个没有图像设备的机器上实现了 X11显示服务的协议。它实现了其他图形界面都有的各种接口,但并没有真正的图形界面。所以当一个程序在 Xvfb 中调用图形界面相关的操作时,这些操作都会在虚拟内存里面运行,只不过你什么都看不到而已。

使用 Xvfb,我们就可以欺骗 Selenium,让它以为自己运行在一个有图形界面的系统里面,这样一来就能够正常使用有头模式了。

安装 Xvfb:

sudo yum update
sudo yum install xvfb

使用xvfb运行python脚本时,需要在命令面前加上 xvfb-run,比如:

xvfb-run python3 jv.py

标签:webdriver,python,图形界面,使用,xvfb,有头,模式,Xvfb,Linux
From: https://blog.csdn.net/weixin_39407597/article/details/139893056

相关文章

  • Python编程学习进阶书籍
    1、Python编程从入门到实践第2版本书内容分为“基础知识”和“项目”两部分。读完本书,读者不仅能快速掌握编程基础知识,还能编写出解决实际问题的代码并开发复杂的项目。第2版沿袭第1版讲解清晰透彻、循序渐进的特点,并全面升级。第一部分“基础知识”新增SublimeText、f字符......
  • petalinux编译出错解决方法
    petalinux编译若干出错解决方法问题一:ERROR:qemu-xilinx-native-v4.1.50-xilinx-v2020.1+gitAUTOINC+e371d99ac1-r0do_fetch:FetcherfailureforURL:‘gitsm://github.com/Xilinx/qemu.git;protocol=https;branch=branch/xilinx-v2020.1’.UnabletofetchURLfro......
  • crc16 linux版本
    #include<stdio.h>#include<stdint.h>//CRC-16-CCITT标准的多项式#definePOLY0x1021uint16_tcrc16(uint16_tcrc,constunsignedchar*buffer,size_tlen){while(len--){crc^=(*buffer++<<8);for(inti=0;i<......
  • 【小沐学GIS】Google的kml文件的读写(C++、Python)
    文章目录1、简介1.1kml简介1.2功能点1.2.1地标1.2.2地面叠加层1.2.3路径1.2.4多边形2、下载和编译3、C++测试4、Python测试4.1安装库4.2测试14.2测试24.3测试3结语1、简介https://developers.google.cn/kml/documentation/kmzarchives?hl=zh-cn1.1kml......
  • windows系统配置linux环境wsl
    前言WindowsSubsystemforLinux(WSL)是微软为Windows10和WindowsServer引入的一个特性,它允许用户在Windows操作系统上直接运行Linux环境,而不需要使用虚拟机或双启动系统。WSL的主要目的是提高开发者的生产力,特别是那些需要在Linux和Windows之间切换的开发人员。一、wsl......
  • 2024年华为OD机试真题-生成哈夫曼树-(C++/Java/python)-OD统一考试(C卷D卷)
    题目描述给定长度为n的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。为了保证输出的二叉树中序遍历结果统一,增加以下限制:二叉树节点中,左节点权值小于右节点......
  • 探索图神经网络(GNN):使用Python实现你的GNN模型
    一、引言图神经网络(GraphNeuralNetwork,GNN)作为近年来机器学习和深度学习领域的热门话题,正逐渐吸引越来越多的研究者和开发者的关注。GNN能够处理图结构数据,在社交网络分析、推荐系统、化学分子结构预测等领域有着广泛的应用。本文将带你一步一步使用Python实现一个基本的......
  • SElinux内核态的实现-avc、avd的设计篇
    文章目录avc_has_perm的处理逻辑[部分]av_decision访问向量决策的设计allowed、auditallow、auditdenyseqnoflagsavc_has_perm_noaudit检查点函数函数原型参数解释函数逻辑selinux检查结果缓存AVC的设计与实现structselinux_avcstructavc_cacheavc的初始化avc_s......
  • 【Linux】TCP协议
    目录TCP协议TCP协议段格式确认应答机制序号与确认序号超时重传六个标记位连接管理机制三次握手四次挥手窗口大小流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包TCP异常情况TCP小结基于TCP应用层协议TCP与UDP的对比用UDP实现可靠传输理解listen的第二个参数......
  • python pyautogui实现图片识别点击失败后重试
    安装库 pipinstallPillowpipinstallopencv-pythonconfidence作用confidence参数是用于指定图像匹配的信度(或置信度)的,它表示图像匹配的准确程度。这个参数的值在0到1之间,数值越高表示匹配的要求越严格。具体来说,confidence参数用于调整在屏幕上搜索目标图像时......