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

相关文章

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

4G/5G全网通! FiberHome烽火5G CPE Air路由器拆机评测

《4G/5G全网通!FiberHome烽火5GCPEAir路由器拆机评测》烽火5GCPE已经使用一段时间了,很多朋友想要知道这款路由器怎么样?今天我们就来看看拆机测评... 我想大家都听说过、了解过5G。 5G是具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

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

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