【Python自动化测试】:浏览器操作

Python3 之 模拟浏览器 虽然在网页的源代码中无法看到被异步加载的内容,但是在Chrome的开发者工具的“Elements”选项卡下却可以看到网页上的内容,这就说明Chrome开发者工具“Elements”选项卡里面的HTML代码和网页源代码中的HTML代码是不一样的。而这个条件就是“presence_of_element_located”,其中的“located”是“locate”的被动式,表示“被定位的”,“presence”的英文意思是“出现”。使用Windows的开发者在写这个参数的时候,要注意反斜杠的问题。 阅读详情

浏览器常用操作

  1. get():打开网页
  2. close():关闭当前tab页——关闭浏览器第一次打开的tab页
  3. quit():关闭浏览器驱动对象——关闭所有程序启动的窗口
  4. maximize_window():最大化浏览器窗口
  5. minimize_window():最小化浏览器窗口
  6. set_windows_size(width,height):设置浏览器浏览器窗口大小,单位:像素
  7. set_window_position(x,y):设置浏览器窗口位置
  8. back():后退,模拟浏览器左上角“后退”按钮
  9. forward():前进,模拟浏览器左上角“前进”按钮,注意:执行过后退操作后才能执行前进操作
  10. refresh():刷新页面,模拟浏览器刷新操作
  11. title:获取页面title
  12. current_url: 获取当前所处窗口页面的URL
    代码演示:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 打开浏览器
driver = webdriver.Chrome()

# 打开百度首页
driver.get("http://www.baidu.com/")
time.sleep(3)
# 设置窗口最小化
driver.minimize_window()
time.sleep(3)
# 设置窗口最大化
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(3)
driver.find_element(By.CSS_SELECTOR, "#s-top-left > a:nth-child(1)").click()
time.sleep(5)
# 获取页面title,并打印
print("当前页面标题:", driver.title)
# 获取当前所处窗口页面的URL,并打印
print("当前页面URL:", driver.current_url)
# 刷新当前页面
driver.refresh()
# 模拟浏览器后退操作
driver.back()
# 获取页面title,并打印
print("后退后的页面标题:", driver.title)
# 获取当前所处窗口页面的URL,并打印
print("后退后的页面URL:", driver.current_url)
# 模拟浏览器前进操作
driver.forward()
# 设置窗口大小
driver.set_window_size(100, 50)

# 退出浏览器
driver.quit()


100天精通Python丨黑科技篇 —— 21、大语言模型_100天精通python快速入门到黑科技 ChatGPT 是 OpenAI 推出的一种基于 GPT-3/4 的聊天机器人。chatgpt 的颠覆性影响主要体现在提高语言交流的便捷性、个性化服务、自动化客服和教育娱乐等方面,这些应用可以为用户带来更多的便利和乐趣,同时也为企业提供了更多的服务和商机。本文收录于,是由的硬核博主倾力打造,分基础知识篇和黑科技应用两大部分,欢迎订阅本专栏,订阅后可私聊进Python全栈VIP交流群(问题解答、互相帮助)还可领取20GPython视频和100本互联网行业电子书。 阅读详情

相关推荐

Python 自动操作浏览器

Python使用selenium库爬虫时,提取数据

Shinersmile的博客 1047

Python使用Selenium模拟浏览器自动操作功能

在进行网站爬取数据的时候,会发现很多网站都进行了反爬虫的处理,如JS加密,Ajax加密,反Debug等方法,通过请求获取数据和页面展示的内容完全不同,这时候就用到Selenium技术,来模拟浏览器的操作,然后获取数据。本文以一个简单的小例子,简述Python搭配Tkinter和Selenium进行浏览器的模拟操作,仅供学习分享使用,如有不足之处,还请指正。

软件测试技术交流分享 2872

自动化测试Selenium+Python+UnitTest系列详细教程二:浏览器常用操作

web自动化测试之浏览器常用基本操作

qq_24914055的博客 624

用python操作浏览器的三种方式

第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如: import time from selenium import webdriver def mac(): driver = webdriver.Firefox() driver.implicitly_wait(5) driver.get("http://huazhu.gag.com/mis/main....

liu_xzhen的博客 3万+

Windows系统监控实战:Grafana+Prometheus+node_exporter保姆级配置指南(含常见问题解决)

本文提供了一份详尽的Windows系统监控实战指南,详细讲解了如何从零部署Grafana、Prometheus和node_exporter(实际为windows_exporter)监控栈。内容涵盖核心组件认知、分步配置解析、高级生产环境考量,并重点针对配置过程中常见的“No Data”问题提供了系统性的排查手册,旨在帮助用户快速搭建稳定可靠的系统资源监控平台。

weixin_29197835的博客 1008

前端监控体系:从Sentry到LogRocket错误追踪

Sentry是一款开源的实时错误追踪系统,支持多种语言和框架,包括JavaScript、React、Vue等。它提供了丰富的错误信息、堆栈跟踪和环境数据,帮助开发者快速定位和解决问题。LogRocket是一款前端监控和用户行为分析工具,它提供了视频回放、性能监控、错误追踪等功能。与Sentry不同,LogRocket更注重用户行为的全面分析。前端监控体系是确保应用稳定性和用户体验的重要保障。通过集成Sentry和LogRocket等监控工具,开发者可以实时追踪应用中的错误和用户行为,快速定位和解决问题。

shejizuopin的博客 1315

Python自动化测试:使用selenium中的webdriver模块对浏览器进行操作

1、打开浏览器:b = webdriver.Firefox() >>> from selenium import webdriver # 导入webdriver模块 >>> b = webdriver.Firefox() # 打开Firefox浏览器 2、打开百度网页:b.get('http://www.baidu.com') &g...

weixin_38400060的博客 922

从零开始:用Python实现AlphaZero五子棋AI(附完整代码)

本文详细介绍了如何从零开始使用Python实现AlphaZero五子棋AI。通过工程化实践,逐步构建蒙特卡洛树搜索(MCTS)、轻量化残差网络(ResNet)以及自博弈训练循环,并提供完整可运行的代码。文章旨在帮助开发者绕过复杂理论,聚焦实战,最终打造一个能够自我学习与对弈的智能体,是深度强化学习在游戏AI领域的一次完整项目实战。

weixin_29081703的博客 416

python自动化测试(一):操作浏览器

自动化测试操作浏览器

欢迎来到长风沛雨的博客 984

STM32F103VET6实战:用W25Q64外部Flash实现Bootloader远程升级(含完整代码解析)

本文详细介绍了基于STM32F103VET6与W25Q64外部Flash的Bootloader远程升级实现方案,包含硬件选型、存储分区策略、双校验机制及完整代码解析。通过SPI接口实现固件存储与升级,适用于物联网设备开发,提升OTA功能可靠性。

weixin_42620340的博客 357

磁编码器选型避坑指南:为什么MT6816比霍尔传感器更适合你的伺服系统?

本文深入对比了MT6816磁编码器与传统霍尔传感器在伺服系统中的应用。MT6816基于AMR技术,对磁场方向敏感而非强度,具备高精度、强抗干扰、高安装容差和极低延时等优势,尤其适合高转速、恶劣环境下的工业场景,能有效提升系统可靠性与长期稳定性。

rainy的博客 1103

深入理解 Linera 协议贡献指南:从 PR 流程到 Rust 代码规范的完整实践手册

本文以 Linera 协议官方贡献指南([CONTRIBUTING.md](https://link.gitcode.com/i/198a0ddccb55a47e93b704e85fab27e4))为骨架,系统梳理了向这一高性能区块链协议提交代码的完整流程与工程规范:从 Issue 讨论、PR 生命周期,到命名约定、API 文档要求、panic 处理哲学、hash-consed 数据缓存、carg

gitblog_00397的博客 1105

AIGC 算法工程师面试八股文全解析:Diffusion Models 原理、推导与实战要点

特性 | 重参数化技巧 (Reparameterization Trick) |本质| 将随机变量的采样过程从不可导的随机操作转换为可导的确定性函数与一个已知分布的随机噪声的组合。目的。

m0_71589036的博客 403

python自动化测试Selenium:4 操作浏览器机制

浏览器基本操作1.浏览器前进操作:forward() 在初始操作时,是不存在前进操作,一般与back配合使用;back后退操作(当前对象必须存在上下文)2.浏览器的最大化、最小化、全屏:get_driver.maximize_window()get_driver.minimize_window()get_driver.fu...

weixin_42514288的博客 239

系统安装(kuntaiR522 kvm安装)

鲲泰R522服务器kvm安装rocky

weixin_46396917的博客 1821

MATLAB 基于 Baker 映射和 Logistic 混沌序列的图像加解密实现

图像加密是信息安全领域的重要研究方向,在数字版权保护、隐私保护等领域有着广泛应用。本文将介绍基于 MATLAB 的 Baker 映射和 Logistic 混沌序列的图像加解密算法,该算法利用混沌系统的初值敏感性和伪随机性,能够有效地对图像进行加密和解密。基于 Baker 映射和 Logistic 混沌序列的图像加解密算法是一种有效的方法,可以应用于数字版权保护、隐私保护等领域。MATLAB 提供了强大的工具和函数,可以方便地实现该算法。

走向CTO的路上... 936

【Python】学习selenium自动化测试:操作浏览器

上篇文章已经安装了selenium,也启动了浏览器,接下来就要学 如何来操作浏览器了。 下面的代码都是直接用python的交互式命令行来完成: C:\Users\Administrator>python Python 2.7.11rc1 (v2.7.11rc1:82dd9545bd93, Nov 21 2015, 23:25:27) [MSC v.1500 64 Type "help"

SQL Server探索 1150

深度学习工具包 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")

Python Playwright自动化测试入门:跨浏览器Web操作与实战指南

Web自动化测试是现代软件开发流程中的重要环节,它通过模拟用户操作来验证Web应用的功能与兼容性。其核心原理是控制浏览器引擎执行预定义脚本,实现对页面元素的定位、交互与状态验证。这项技术的价值在于提升测试效率、确保跨平台一致性,并支持持续集成。在自动化测试、数据采集和日常Web任务自动化等场景中,Playwright作为一款新兴工具脱颖而出。它原生支持Chromium、Firefox和WebKit三大浏览器引擎,解决了传统工具在单页应用和动态加载场景下的痛点。对于Python开发者而言,Playwright

weixin_28831461的博客 259

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Web自动化测试:控制浏览器的常用操作(python+selenium)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

huace3740的博客 387

03_Python3.6+selenium2.53.6自动化测试_浏览器操作:打开百度

环境见环境搭建篇: 环境搭建 一、打开网站csdn 1.第一步:从selenium里面导入webdriver模块 2.第二步:打开浏览器 3.打开网址 代码: #coding:utf-8 ''' 一、打开网站csdn 1.第一步:从selenium里面导入webdriver模块 2.第二步:打开浏览器 3.打开网址 ''' #导入依懒的模块 from selenium import we...

dengachao的专栏 3万+

Day 56:【99天精通Python】Web 自动化测试 (Selenium) - 像真人一样操作浏览器

本文介绍了使用Selenium进行Web自动化测试和爬虫的方法。主要内容包括: Selenium环境配置:通过webdriver-manager自动管理浏览器驱动 基本操作:启动浏览器、访问网页、获取页面信息 元素定位:详细讲解ID、XPath、CSS等多种定位方式 交互操作:模拟点击、输入文本、回车等用户行为 等待机制:介绍显式等待和隐式等待的区别及使用场景 无头模式:配置Headless模式在无界面环境下运行 实战案例:演示了完整的百度自动搜索并截图流程 文章还解答了常见问题,如版本不匹配、iframe

weixin_52694742的博客 591

基于python的web自动化测试原理_【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!...

一、前言最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!二、话不多说,直接开干,开始搭建自动化测试环境这里以前在优快云写过一篇很详细的博文,零基础的小白都可以看懂,地址如下:三、Selenium 原理Selenium 是一套完整的 web 应用程序测试系统 ,它包含了测试录制(Selenium IDE)、编写及运行...

weixin_39607450的博客 201

学习笔记(01):Python Selenium自动化测试视频教程-Selenium WebDriver 浏览器操作

Python Selenium测试视频培训教程,该课程是Selenium3自动化测试教程,基于Python语言。所讲知识包括自动化测试基础、Python基础、Selenium IDE、Selenium webdriver、以及自动化测试模型。...

weixin_43212830的博客 1462
上一篇: 【Python自动化测试】:3种元素等待方式
下一篇: 【Python自动化测试】:模拟鼠标操作
Lucifer__hell
博客等级 码龄8年 53粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值