以下方“节点审批”下拉框为例

  • 该下拉框没有<select>标签,而是<div><ul><li>标签。分别使用Python和RPA网页自动化让下拉框选择=“已审批”

1、Python代码如下

步骤:先点击下拉框获取所有下拉值,然后遍历每个下拉值找到指定文本内容再进行点击

from selenium import webdriver
from time import sleep url="http://xxx.com"
def dropDownBox():
browser = webdriver.Chrome()
browser.get(url)
#窗口最大化
browser.maximize_window()
sleep(1)
#非标准下拉框。点击下拉框
browser.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div/form/div[6]/div/div/div/input').click()
sleep(2)
#获取所有选项值再进行for循环遍历内容,符合指定文本则点击选项
#看网页源代码层级关系,'/html/body/div[2]/div[1]/div[1]/ul/li[3]'是已审批状态的绝对路径,它的上一层'/html/body/div[2]/div[1]/div[1]/ul'即为所有选项
orderStatusStr=browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/ul').text
print(type(orderStatusStr))
#将str类型转换为list类型,按换行符进行切片
orderStatusList = orderStatusStr.split("\n")
print(type(orderStatusList),orderStatusList)
approvedStatus = "已审批"
for i in range(len(orderStatusList)) :
statusXpath='/html/body/div[2]/div[1]/div[1]/ul/li['+str(i+1)+']'
print(statusXpath)
orderStatus = browser.find_element_by_xpath(statusXpath).text
if orderStatus==approvedStatus:
print(orderStatus+" 状态符合指定文本内容,点击此选项")
browser.find_element_by_xpath(statusXpath).click()
#如果下拉选项有独立的title,也可直接使用xpath定位而不用遍历所有选项
#browser.find_element_by_xpath('//*[@title="已审批"]').click()
else:
print(orderStatus + " 状态不符合指定文本内容")
sleep(2) if __name__=="__main__":
dropDownBox()

运行结果

2、RPA指令如下

步骤:先点击下拉框,再根据文本内容点击下拉选项

其中“节点状态_选择值”元素指定了属性innerText=已审批

Python和RPA网页自动化-让非标准下拉框选择指定文本的方法的更多相关文章

  1. robotframework自动化系列:随机下拉框

    robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...

  2. Python+selenium之获取文本值和下拉框选择数据

    Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...

  3. 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...

  4. selenium自动化实例: 多层框架中关于iframe的定位,以及select下拉框选择

    对于一个自动化的初学者来说会很常见的遇到元素明明存在却始终定位不到, 从而导致脚本报错,当然定位不到元素的原因很多, 其中一种就是多层框架iframe导致的 下方截图示意: 下方为写脚本时候的示例并其 ...

  5. bootstrap中table页面做省市区级联效果(级联库见前面级联编辑)(非select下拉框)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. 一句话在网页右上角加一个精致下拉框:forkme on github

    随着我国科技水平不断发展,玩Github的童鞋越来越多了,按照惯例,开源项目会有一个示例网站,而网站的右上角,通常会有一个forkme on github,这说明你可以去Github查看.下载项目源码 ...

  7. paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结

    paip.web数据绑定 下拉框的api设计 选择框 uapi  python .net java swing jsf总结 ====总结: 数据绑定下拉框,Uapi 1.最好的是默认绑定..Map(k ...

  8. 对于隐藏性质的非标准的动态 id 的下拉框,如何定位和选中

    今天,在页面上碰到一个非 select 标签的下拉框,打算进行定位和模拟选中. <input aria-invalid="false" autocomplete=" ...

  9. Selenium2+python自动化15-select下拉框

    前言 最近由于工作原因,更新慢了一点,今天终于抽出一点时间给大家继续更新selenium系列,学习的脚本不能停止,希望小伙伴能多多支持. 本篇以百度设置下拉选项框为案例,详细介绍select下拉框相关 ...

  10. python webdriver中对不同下拉框通过文本值的选择

    在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相对与教程来说的,比如下面: m=driver.find_element_by_id("Shippin ...

随机推荐

  1. itest work(爱测试) 开源一站式接口测试&敏捷测试工作站 9.0.3

    (一)itest work 简介 itest work (爱测试)  一站式工作站让测试变得简单.敏捷,"好用.好看,好敏捷" ,是itest wrok 追求的目标.itest w ...

  2. numpy cumsum()函数简介

    函数原型:numpy.cumsum(a, axis=None, dtype=None, out=None) 可参考链接:https://docs.scipy.org/doc/numpy-1.10.1/ ...

  3. numpy基础--用于数组的文件输入输出

    以下代码的前提:import numpy as np numpy能够读写磁盘上的文本数据或二进制数据. 1 将数组以二进制格式保存到磁盘 np.save和np.load是读写磁盘数组数据的两个主要函数 ...

  4. CF1815

    CF1815 Div. 1 确实难,Virtual Contest 上只完成了两道题,想出来了三道题. A. Ian and Array Sorting 秒切题--考虑将前 \(n - 1\) 个数变 ...

  5. windows 命令行调整分辨率

    windows 命令行调整分辨率 下载:qres_v1.1 https://abcker.lanzouq.com/i1uzA1a5uo8j 解压出来,如:D:\Soft\QRes,不要使用中文名目录. ...

  6. nordic——long range测试

    简介:本案例测试了long range,注意nrf52系列芯片中,部分硬件是不支持CADE的,也就是不支持long range,如nrf52832就不支持long range.同时协议栈也是部分支持, ...

  7. SOP页面跳转设计 RAS AES加密算法应用跨服务免登陆接口设计

    SOP页面跳转设计 RAS AES加密算法应用跨服务免登陆接口设计 SOP,是 Standard Operating Procedure三个单词中首字母的大写 ,即标准作业程序,指将某一事件的标准操作 ...

  8. base64图片文件上传OSS,下载OSS图片转换为InputStream,文件转base64,base64转文件工具类

    base64图片文件上传OSS,下载OSS图片转换为InputStream,文件转base64,base64转文件工具类 OSSUtils.java public class OSSUtils { p ...

  9. 用CSS3绘制iPhone手机

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 用CSS3绘制iPhone手机 日期:2017-7-3 阿 ...

  10. app备案

    最近app要求备案,使用阿里云备案 安卓可以上传apk获取信息,那么ios怎么弄呢 https://zhuanlan.zhihu.com/p/660738854?utm_id=0 查看的时候需要使用m ...