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性能优化-内存泄漏
一.现象 最近直播助手在iOS11 ReplayKit上面经常出现进程使用内存超过50MB被系统杀掉,并且这种进程被杀掉不会有任何crash log留下来,只能在Console中留下一点消息. 二.使 ...
- NOIP模拟64
T1 三元组 解题思路 一看题面,好像是一道数学题,但不完全是,或者说根本不是... 比较好想到的是 \(\mathcal{O}(n^2)\) 和 \(\mathcal{O}(nk)\) 的做法,然后 ...
- 记第一次用python写界面
花了两三个小时学了Tkinter,做了一个将数据绘制成图的小工具. 1. 获取路径下的所有文件or获取路径下指定名称的文件 1.1 打开文件 //1. 用来放文本框中的文字filename = St ...
- 【Socket】解决TCP粘包问题
一.介绍 TCP一种面向连接的.可靠的.基于字节流的传输层协议. 三次握手: 客户端发送服务端连接请求,等待服务端的回复. 服务端收到请求,服务端回复客户端,可以建立连接,并等待. 客户端收到回复并发 ...
- react组件通信 父组件与子组件互相通信
父组件将自己的状态传递给子组件,子组件当做属性来接收,当父组件更改自己状态的时候,子组件接收到的属性就会发生改变 父组件利用ref对子组件做标记,通过调用子组件的方法以更改子组件的状态,也可以调用子组 ...
- RT-Thread Studio使用教程
介绍 RT-Thread Studio是官方出品的一款专门针对RT-Thread嵌入式开发.部署.调试.测试的集成开发环境,它基于Eclipse开源项目开发,极大的提高了嵌入式开发者的开发效率,目前最 ...
- rust 程序设计笔记(1)
简介 - Rust 程序设计语言 简体中文版 hello world & rust相关工具使用 hello world rustc rustc --version complie .rs pr ...
- linux解压缩,复制,重命名,删除,目录按更新时间排序,grep递归搜索文档
linux解压缩,复制,重命名,删除,目录按更新时间排序,grep递归搜索文档 1.解压缩压缩命令 zip -p -r mymail-1026.zip mymail/ 解压命令 unzip mymai ...
- python批量读取excel csv文件插入mysql数据库
#python批量读取excel csv文件插入mysql数据库 import os import csv import argparse import pymysql import sys clas ...
- 开源的网络瑞士军刀「GitHub 热点速览」
上周的开源热搜项目可谓是精彩纷呈,主打的就一个方便快捷.开箱即用!这款无需安装.点开就用的网络瑞士军刀 CyberChef,试用后你就会感叹它的功能齐全和干净的界面.不喜欢 GitHub 的英文界面? ...