sjw-风评评测-定位页面元素

2023-11-23 20:20

本文主要是介绍sjw-风评评测-定位页面元素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、手工标准化操作流程:

1、登录系统

 

2、登录后的页面点击:账户设置

 

3、点击“重新评测”,进入到风险评测页面

 

4、答完8道题

 

 

5、勾选条件checkbox

6、点击“提交”

 提交后的页面

 

 

二、自动化实现

1、登录系统:略

2、登录后的页面点击:账户设置

 

 

driver.find_element_by_partial_link_text('账户设置').click()

3、点击“重新评测”,进入到风险评测页面

这一步的处理纠结时间比较长,试了很多中方法都没有定位出来。。。。。。

 

#以下定位是查找span标签有个文本(text)包含(contains)'开始评测' 的元素,该定位方法重要
driver.find_element_by_xpath("//span[contains(text(),'开始评测')]").click()
time.sleep(3)

 

4、答完8道题

# 第1题:
driver.find_element_by_xpath('//*[@id="RISK0"]/div/ul/li[1]/label').click() #选择第1个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[2]/label').click() #选择第2个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[3]/label').click() #选择第3个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[4]/label').click() #选择第24个选项

 5、勾选条件checkbox

 

#复选框
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[1]/label[1]').click()
#提交
driver.find_element_by_id('submit').click()

 

三、完整的界面自动化实现

import time
from selenium import webdriver
# import os#B
username = "18200717087" # 请替换成你的用户名

password = "123456Aa" # 请替换成你的密码
code = 121
#driver = webdriver.Chrome() # 选择Chrome浏览器或者用下面的浏览器,看心情
driver = webdriver.Firefox()
#B
driver.get('http://118.178.---.--:8081/systLogonUser/login.do') # 打首金网登录页面
#C
#driver.get('http://10.253.125.38:8081/systLogonUser/login.do') # 打首金网登录页面
# time.sleep(1)#找到用户名输入框点击获取焦点并输入信息
driver.find_element_by_id('userName').click()
driver.find_element_by_id('userName').send_keys(username)#找到密码输入框点击获取焦点并输入信息
driver.find_element_by_id('pwd').click()
driver.find_element_by_id('pwd').send_keys(password)# 找到图形验证码输入框点击获取焦点输入信息
driver.find_element_by_id('verifyCode').click()
driver.find_element_by_id('verifyCode').send_keys(code)# 找到登录按钮点击
driver.find_element_by_id('login').click()
time.sleep(1)# 找到签到点击完成签到
# driver.find_element_by_class_name('signIn').click()# driver.close()# 这些是网站中定位到的元素
# userName
# pwd
# verifyCode
# login
#定位“我的账户”左侧列表
'''
“我的账户”页面左侧导航列表页面
'''
driver.find_element_by_partial_link_text('账户设置').click()
time.sleep(1)'''
以下定位是查找span标签有个文本(text)包含(contains)'开始评测' 的元素,该定位方法重要
'''
driver.find_element_by_xpath("//span[contains(text(),'重新评测')]").click()
time.sleep(1)# 第1题:
driver.find_element_by_xpath('//*[@id="RISK0"]/div/ul/li[1]/label').click()  #选择第1个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[2]/label').click()  #选择第2个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[3]/label').click()  #选择第3个选项
# driver.find_elements_by_xpath('//*[@id="RISK0"]/div/ul/li[4]/label').click()  #选择第24个选项
# 第2题:
driver.find_element_by_xpath('//*[@id="RISK1"]/div/ul/li[1]/label').click()
# 第3题:
driver.find_element_by_xpath('//*[@id="RISK2"]/div/ul/li[1]/label').click()
# 第4题:
driver.find_element_by_xpath('//*[@id="RISK3"]/div/ul/li[1]/label').click()
# 第5题:
driver.find_element_by_xpath('//*[@id="RISK4"]/div/ul/li[1]/label').click()
# 第6题:
driver.find_element_by_xpath('//*[@id="RISK5"]/div/ul/li[1]/label').click()
# 第7题:
driver.find_element_by_xpath('//*[@id="RISK6"]/div/ul/li[1]/label').click()
# 第8题:
driver.find_element_by_xpath('//*[@id="RISK7"]/div/ul/li[1]/label').click()# time.sleep(3)
#复选框
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[1]/label[1]').click()
#提交
driver.find_element_by_id('submit').click()
time.sleep(3)
driver.close()

 四、mac下运行出现的问题

 提示信息的大概意思是什么东西被遮挡了,观察后估计是浏览器显示的问题,添加如下一句代码后解决

driver.maximize_window()   #将浏览器最大化显示
driver = webdriver.Firefox()driver.maximize_window()   #将浏览器最大化显示

time.sleep(3)

 五、优化及修改

1、selenium “could not be scrolled into view” 解决方法:让脚本sleep一下,等页面加载完就可以了
2、页面是否最大化的设置

3、“重新评测”定位的两种方式,win上#1不行,#2可行;mac上#1是可以的

'''
以下定位是查找span标签有个文本(text)包含(contains)'开始评测' 的元素,该定位方法重要
'''
# driver.find_element_by_xpath("//span[contains(text(),'重新评测')]").click()#1
driver.find_element_by_id('reEvaluation').click()#2
time.sleep(3)

 

转载于:https://www.cnblogs.com/jpr-ok/p/10331358.html

这篇关于sjw-风评评测-定位页面元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420484

相关文章

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

js定位navigator.geolocation

一、简介   html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置。   window.navigator.geolocation提供了3个方法分别是: void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置int watchCurrentPosition(