python 调用selenium 做爬虫, 调用chrome浏览器的参数有哪些

Python制作【大麦网】自动抢票程序 Python 的迅速崛起对整个行业来说都是极其有利的,但“人红是非多”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。如果你对Python感兴趣,想要学习pyhton,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓点击这里。 阅读详情

先来一段代码,大家看一下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

class ChromeTool:

    debug = False
    driver = None
    chrome_opt = Options()      # 创建参数设置对象.

    def __init__(self):
        self.chrome_opt.add_argument('--no-sandbox')
        self.chrome_opt.add_argument('--window-size=1366,768')   # 设置窗口大小, 窗口大小会有影响.

    def open_chrome(self, headless=False, download_path=''):
        if headless:
            self.chrome_opt.add_argument('--headless')   # 无界面化.
            self.chrome_opt.add_argument('--disable-gpu')    # 配合上面的无界面化.
        # 设置浏览器的下载目录
        if len(download_path) != 0:
            self.chrome_opt.add_argument('download.default_directory=' + download_path)
        # 创建Chrome对象并传入设置信息.
        chromedriver_path = Config.chrome_driver
        if os.path.exists(chromedriver_path):
            self.driver = webdriver.Chrome(executable_path=chromedriver_path, options=self.chrome_opt)
        else:
            self.driver = webdriver.Chrome(options=self.chrome_opt)

    def close_chrome(self):
        self.driver.close()
        self.driver.quit()

大家看到上面提到了几个参数:

1. --no-sandbox 沙箱

2. --window-size  配置CHROME的窗口大小

3 --headless    不想弹出 界面,后台操作CHROME

4 --disable-gpu   关闭GPU

5. download.default_directory    默认下载目录 

 

selenium驱动解析 背景 在日常的测试工作中,我们经常会用selenium框架做自动化测试并使用webdriver来打开驱动浏览器,例如以下代码,通过webdriver来驱动浏览器打开百度首页。 from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com/') 但是这个webdriver是怎么工作来驱动打开浏览器的呢,下面就我的个人理解和各位小伙伴分享一下,希... 阅读详情

相关推荐

python网络爬虫selenium(1)

年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

2401_84009529的博客 882

解决selenium使用webdriver.Chrome()报错的问题

解决selenium无法使用webdirver.chmore()的问题

程序小武的博客 3万+

Python爬虫基础教程(81)Python Selenium模拟浏览器之浏览器选择:别再用Requests死磕网页了!Selenium浏览器选得好,爬虫下班回家早

当你用Python爬虫撞上JavaScript动态加载,是不是感觉像在敲一堵水泥墙?这篇指南带你解锁Selenium的浏览器选择秘籍。Chrome是万能打工人,Firefox乃怀旧党福音,Edge堪称白嫖党福利,而Headless模式则是隐形刺客。我们将用相亲选对象般的犀利眼光,分析各浏览器特性,看完你会发现,原来爬虫效率翻倍的秘诀,从选择浏览器那刻就注定了!

jxf_jxfcsdn的博客 1629

chromedriver 路径问题

在使用selenuim 进行爬虫时 chromedriver 路径出现问题 也已经配置过环境变量了,老是报错 在网上找了半天资料 有两种方法: 1,在创建浏览器对象前: driver = webdriver.Chrome(executable_path='.chromedriver.exe') 2,将chromedriver 存放在python Scripts 如图所示: ...

ludagea的博客 7478

浅谈selenium+webdriver爬虫技术

DOM是W3C指定的标准,如上图可以看到,DOM是由一个个的node(节点)组成。里面较常用的包括find_element_by_id 、find_element_by_xpath、ind_element_by_class_name 、find_element_by_css_selector这四种。图上看到节点之间有层级关系,如head和body为文档根节点的子节点,head标签内部的title则为其子节点,body内部的div为其子节点,下一级的a和button之间为兄弟节点,与div为父子关系。

zqy0227的博客 1677

相机中的归一化实现讲解

本分讲解了图像处理中常出现的两个相机归一化操作

weixin_42102084的博客 1475

python-selenium与chromedriver安装配置与示例

安装selenium selenium可以直接可以用pip安装。 pip install selenium 安装chromedriver 首先查看Chrome版本,在浏览器中输入chrome://version/ 下载chromedriver的版本一定要与Chrome的版本一致。 有两个下载地址: 1、http://chromedriver.storage.googleapis.com/index.html 2、https://npm.taobao.org/mirrors/chromedriver/ .

halazi100 3519

OneNET物模型实战:如何用NB-IOT模块上传JSON数据并解析

本文详细介绍了如何利用NB-IOT模块将传感器数据上传至中国移动OneNET物联网平台,并利用其物模型功能实现JSON数据的自动解析。文章从理解OneNET物模型与OneJson协议入手,逐步讲解了平台侧物模型创建、设备注册,以及设备端数据构造、HEX编码与NB-IOT模块AT指令上报的全流程,并提供了关键的调试技巧与常见问题排查方法,为物联网开发者提供了完整的实战指南。

sugar的博客 680

selenium+python配置chrome浏览器的选项

selenium+python配置chrome浏览器的选项 1. 背景 在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。 常用的行为有: 禁止图片和视频的

Kosmoo的博客 8万+

IBM V3700更换控制器2(503错误)

正常的node1 ,机器代码版本:7.5.0.3, 机器代码构建:115.51.1509171734000。耐心等待后,刷新,看到node2,状态变成 节点状态:服务,错误:656,版本和node1一样了。新换的node2 ,机器代码版本:7.2.0.5, 机器代码构建:87.8.1404221000。耐心等待,刷新,node2,状态看到了,节点状态:活动,错误 724 1 1 0。拔出故障的控制,把内存和HBA卡,电池换到新的控制器。新的控制还是报错无法使用,节点状态:服务 错误:503。

klyshao的博客 4447

AI气象预报:数值模式融合与短临预警的工程实践

气象预报正经历从物理推演到数据驱动的认知范式转变。AI气象预报并非替代传统数值模式,而是通过数值模式融合弥补其在参数化误差、初值敏感性和计算效率上的固有瓶颈。其技术价值在于提升短临预警时效性与空间精度,支撑航空调度、电力调控、防洪应急等关键场景。实践中需兼顾物理一致性、可解释性与业务系统兼容性,避免纯黑箱建模带来的外推失效与不确定性缺失风险。本文聚焦AI作为超分辨率引擎、误差矫正器和短临加速器的三类落地路径,解析HEALPix投影、多尺度图建模、轻量级U-Net等核心适配方法。

weixin_28221501的博客 298

Selenium控制已打开的chrome、IE浏览器

一文教你控制已打开的chrome、ie浏览器,无需重复打开浏览器,影响效率。

HRG520JN的博客 1万+

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7605

chrome浏览器爬虫崩溃,怎么办?python + selenium + chrome + headless模式

chrome浏览器爬虫崩溃,怎么办?python + selenium + chrome + headless模式 1. 背景 在使用selenium + chrome浏览器渲染模式爬取数据时,如果并发任务过多,或者爬虫的运行时间很长,那么很容易出现浏览器崩溃的现象,如下: 这一般是资源消耗过大造成的(据说chrome浏览器有内存泄漏的情况)。那如何解决这个问题呢? 这种情况下,我

Kosmoo的博客 2万+

银河麒麟v10(x86_64)升级openssh实操成功

本文详细介绍了在银河麒麟V10系统上将OpenSSH从8.2p1升级至9.9p2版本的全过程。主要内容包括:系统环境确认、安装telnet备用连接、备份配置、卸载旧版本、安装新版本、服务配置与验证等关键步骤。特别强调了安全注意事项,如必须安装telnet作为备用连接、重要配置备份等。升级后提供了安全加固建议,包括修改SSH端口、禁用root登录等。文章还包含详细的故障排查方法和恢复方案,确保升级过程安全可靠。通过本教程,用户可以顺利完成OpenSSH版本升级,提升系统安全性。

淘淘小窝 1090

避坑指南:Livox Mid-360双雷达SLAM配置中,那些官方文档没说的细节(IP设置、话题分离与时间同步)

本文详细解析了Livox Mid-360双雷达SLAM配置中的关键优化点,包括IP设置、话题分离与时间同步等官方文档未提及的细节。通过实战案例和代码示例,帮助开发者解决点云错位、IMU数据混乱等问题,提升SLAM系统的稳定性和精度。特别针对网络架构设计、驱动修改和时间同步机制提供了专业指导。

weixin_29745609的博客 426

selenium+python配置chrome浏览器的选项的实现

在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。

qq_45158700的博客 3475

AIGC时代的必备技能:提示词工程(Prompt Engineering)全面指南

本文主要介绍了AIGC时代的重要技能——提示词工程(Prompt Engineering)。文章首先定义了提示词的概念,强调其作为人类与AI沟通桥梁的重要性,并详细阐述了提示词的功能特性,包括输入、大模型处理和输出三个环节。接着,文章探讨了提示工程的重要性,如提高输出质量、节省资源和时间等。随后,文章深入分析了提示词的基本构成要素,包括指令、上下文、输入数据和输出指示符,并提出了提示词的五大基本原则:清晰性与具体性、提供充足的上下文、明确任务与目标、考虑受众和迭代思维。最后,文章介绍了提示词的七大常见技巧

weixin_43178406的博客 27万+

python selenium 设置浏览器参数详解

本文介绍了Selenium中ChromeOptions的配置方法,主要包括:1)通过add_argument()设置浏览器参数,如无头模式、语言、User-Agent等;2)使用add_extension()添加插件;3)通过add_experimental_option()设置实验性参数,如禁止图片加载、禁用弹窗等。还讲解了窗口切换、显性/隐性等待等常用操作,以及代理设置、禁用自动化横幅等实用技巧。这些配置能优化自动化测试效率,规避反爬检测,并模拟真实浏览器行为。

野猫炫的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

网络爬虫requests+selenium总结

导入所需要的模块 import time from selenium.webdriver.chrome.options import Options from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by impo...

u013289615的博客 2824

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python selenium自动化操作Chrome浏览器

selenium自动化,爬虫必备技能

80后大叔爱学习 9242

【基础】【Python网络爬虫】【8.Selenium入门】selenium配置、环境安装、浏览器驱动下载(附大量案例代码)(建议收藏)

Selenium 入门 1. 动态网页&静态网页 动态网页 JavaScript JQuery Ajax HTML 动态网页处理方法 2. Selenium 工作原理 3. Selenium 配置 环境安装 浏览器驱动下载 配置浏览器驱动 selenium 快速上手 4. Driver对象的常用方法及属性 5. 元素提取 6. 元素对象的方法及属性 7. 页面的等待渲染 8. 页面的前进和后退 9. 切换页面的窗口 案例 - 模拟登录码云 案例 - 酷六网 案例 - 登录Github

weixin_43612602的博客 1768

python+selenium实现的谷歌爬虫(超详细)

python+selenium实现的谷歌爬虫 接到一个需求,需要从谷歌图库中爬取图片。于是按照之前的爬取国内网站的图片的方法,进入谷歌图库的图片页面,打开谷歌开发者工具,选中network面板,然后翻页,以此找到返回图片地址的json数组的请求url,结果硬是找不到。在这里不得不说,国外的网站安全性比国内还是要高,国内的什么百度图库、搜狗图库、一些图片收费网站按照上面的方法轻松爬取。 既然此路不通...

世俗的眼光 1万+

python爬虫——selenium+chrome使用代理

先看下本文中的知识点: selenium库 chrome webdirver的下载安装 selenium+chrome使用代理 搭建开发环境: selenium库 chrome webdirver 谷歌浏览器 >=7.9 PS:安装了的同学可以跳过了接着下一步,没安装的同学跟着我的步骤走一遍 安装selenium库 pip install selenium 安装chrome web...

K哥爬虫 1万+

Web自动化之Selenium控制已经打开的浏览器(Chrome,Edge)

在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,我们可以利用Selenium控制已经打开的浏览器,从而避免每次都需要重新打开浏览器并进行登录的繁琐步骤。

weixin_73953650的博客 6387

基于Python +Selenium的爬虫详解

一.背景 1. Selenium Selenium是一个用于web应用程序自动化测试的工具,直接运行在浏览器当中,支持chrome、firefox等主流浏览器。可以通过代码控制与页面上元素进行交互(点击、输入等),也可以获取指定元素的内容。 2.优劣 劣势: 相比于抓包→构造请求→解析返回值的爬虫,由于Selenium需要生成一个浏览器环境,所有操作(与元素交互、获取元素内容等)均需要...

python学习者的博客 3万+
上一篇: ubuntu 升级python 2.7 的pip 到20.0.2 结果无法正常使用的解决办法
下一篇: 使用HttpWebRequest请求https链接时,无法访问的问题,设置ServicePointManager.SecurityProtocol安全协议
vrix
博客等级 码龄24年 673粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值