Python和RPA网页自动化-浏览器切换不同窗口页面
以百度为例,点击【BOSS直聘】词条会打开一个BOSS新窗口页面,分别使用Python和RPA网页自动化在不同的窗口页面来回切换窗口完成以下顺序步骤

1、Python代码如下
步骤:打开新窗口页面后,先获取所有窗口句柄window_handles,再用switch_to.window()切换到新窗口
from selenium import webdriver
from time import sleep browser = webdriver.Chrome()
#第一个窗口页面
browser.get("https://www.baidu.com")
browser.find_element_by_id('kw').send_keys("boss直聘")
browser.find_element_by_id('su').click()
sleep(3)
print("第一次窗口页面句柄为:",browser.current_window_handle)
#点击[boss直聘]词条,打开一个新窗口页面
browser.find_element_by_xpath('//*[@id="m6004605700_canvas"]/div/div[1]/div[1]').click()
sleep(5)
#获取所有窗口页面的句柄。新打开窗口页面取列表最后一个句柄
allHandles=browser.window_handles
newHandles=allHandles[-1]
#从第一个窗口切换到第二个窗口页面
browser.switch_to.window(newHandles)
print("第二次窗口页面句柄为:",browser.current_window_handle)
currentCity=browser.find_element_by_xpath('//*[@id="header"]/div[1]/div[2]/p/span[1]').text
print("BOSS当前定位城市:",currentCity)
#从第二个窗口切换回第一个窗口页面
browser.switch_to.window(allHandles[0])
print("第三次窗口页面句柄为:",browser.current_window_handle)
words=browser.find_element_by_xpath('//*[@id="m6004605700_canvas"]/div/div[1]/div[1]').text
print("百度词条:",words)
脚本运行结果

2、RPA指令
步骤:用【获取已打开的网页对象】切换新窗口页面

3、拓展:RPA切换软件不同窗口对象
以旺店通软件为例,我开启了3个窗口,使用RPA自动化打开每个窗口并点击[登陆]按钮

RPA指令如下

程序正确打开3个窗口,并点击[登陆]按钮

Python和RPA网页自动化-浏览器切换不同窗口页面的更多相关文章
- python+selenium实现网页自动化与爬虫技术
举例某购物网站,通过selenium与python,实现主页上商品的搜索,并将信息爬虫保存至本地excel表内. 一.python环境与selenium环境安装 python在官网下载并安装并且设置环 ...
- Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6
1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...
- 使用windows切换程序窗口时关闭edg浏览器的多个选项卡
关闭edg浏览器切换程序窗口时展示多个选项卡 一.切换程序窗口的方式 当使用电脑打开了多个程序时,可以通过按住快捷键alt+tab(或者使用笔记本的触控屏,三指左右滑动快捷手势)来切换程序窗口. 二. ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- python UI自动化之切换iframe
python+selenium写UI自动化的时候,经常会遇到需要切换iframe的情况,这里介绍几种切换iframe的方式 1.使用id定位 driver.switch_to.frame(" ...
- Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退 1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...
- python selenium + web自动化,切换到新的窗口,元素定位不到?
问题描述: 自动化由首页切换到分页面,打开了一个新的窗口,不过,定位不到这个窗口的元素,通过开发者工具是可以查到这个元素的 原因是: 因为窗口句柄还停留在上一个页面,所以导致无法定位元素.报错 &qu ...
- Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...
随机推荐
- iOS MonkeyDev 尝试体验(非越狱开发)
一.前言 随着iOS系统的逐渐开放,iOS越狱需求的人越来越少,那么在非越狱系统上面开发越狱插件那将是一个不错的选择,在github上面发现一个开源的Xcode工程模板. 整合了越狱开发的工具.重签名 ...
- Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解
前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的. 其中就包括华丽绚烂的三维图表,数据量不大的时候是可 ...
- Scaling Memcache at Facebook
Memcached 是一种众所周知的.简单的内存缓存解决方案.本文描述了 Facebook 如何利用 memcached 作为构建块来构造和扩展一个分布式键值存储支持世界上最大的社交网络. 1.I ...
- Semantic Kernel入门系列:通过依赖注入管理对象和插件
前言 本章讲一下在Semantic Kernel中使用DependencyInject(依赖注入),在之前的章节我们都是通过手动创建Kernel对象来完成框架的初始化工作,今天我们用依赖注入的方式来实 ...
- scab2
package com.cmb.cox.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;im ...
- 开启IPV6网络
1.路由器开启IPV6支持 2.路由器关闭IPV6 DHCP服务 3.若外网无法访问则关闭路由器防火墙 或关闭系统防火墙 4.tomcat需设置地址为0.0.0.0
- 基于 .NET CORE + VUE 前后端项目打包,实现批处理安装,一键部署
2023年7月18日 目前基于已完成了基于WPF界面的全自动部署小工具 自动判断相关.net core环境和依赖,自动部署mysql数据库,自动部署前后端web服务的功能. 有疑问的可以直接评论. - ...
- Linux下挂载NTFS格式的U盘
NTFS是Windows下的格式,在Linux下是识别不了的,要想在Linux上挂载NTFS格式的U盘需要安装软件以提供支持.软件名为ntfs-3g. 1.下载安装包 https://tuxera.c ...
- 关于 KL 散度和变分推断的 ELBO
01 KL 散度 Kullback-Leibler (KL) 散度,是一种描述 一个概率分布 \(P\) 相对于另一个概率分布 \(Q\) 的非对称性差异的概念. KL 散度是非负的:当且仅当两个分布 ...
- FEDORA34 安装CUDA11.3
FEDORA34 安装CUDA11.3 首先确保能装上最新的显卡驱动. FEDORA显卡驱动安装 然后去官网下fedora对应的.run安装文件.运行安装, 但不要选装驱动. 完成后加环境变量: # ...