selenium 验证元素是否存在_使用selenium判断标签的元素值是否存在
from selenium.common.exceptions import NoSuchElementException
# 封装一个函数,用来判断属性值是否存在
def isElementPresent(driver, path):
"""
用来判断元素标签是否存在,
"""
try:
element = driver.find_element_by_xpath(path)
# 原文是except NoSuchElementException, e:
except NoSuchElementException as e:
# 发生了NoSuchElementException异常,说明页面中未找到该元素,返回False
return False
else:
# 没有发生异常,表示在页面中找到了该元素,返回True
return True
写个刷bilibili火锅的脚本测试一下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import json
from selenium.webdriver.support.ui import Select
import time
from selenium.common.exceptions import NoSuchElementException
# 封装一个函数,用来判断属性值是否存在
def isElementPresent(driver, path):
"""
用来判断元素标签是否存在,
"""
try:
element = driver.find_element_by_xpath(path)
# 原文是except NoSuchElementException, e:
except NoSuchElementException as e:
# 发生了NoSuchElementException异常,说明页面中未找到该元素,返回False
return False
else:
# 没有发生异常,表示在页面中找到了该元素,返回True
return True
driver = webdriver.Chrome()
def bilibili_yeah():
while True:
if isElementPresent(driver, '/html/body/div[9]/div/div/div/div[2]'):
print("有X号")
driver.find_element_by_xpath('/html/body/div[9]/div/div/div/div[2]').click()
print(u"X点了")
elif isElementPresent(driver, '//*[@id="app"]/article/div[3]/div[2]/div[2]/div[1]/div[1]/div[1]/div[5]'):
print("有按钮")
driver.find_element_by_xpath('//*[@id="app"]/article/div[3]/div[2]/div[2]/div[1]/div[1]/div[1]/div[5]').click()
print("Clicked")
else:
print("等10s")
time.sleep(10)
driver.get("https://www.bilibili.com/blackboard/xianxing2020bnj.html?anchor=game")
#driver.implicitly_wait(130)
for i in range(40):
time.sleep(1)
print(40-i)
while True:
try:
bilibili_yeah()
except:
print("QAQ出问题等5s")
time.sleep(5)
Nice!
selenium 验证元素是否存在_使用selenium判断标签的元素值是否存在相关推荐
- selenium 表单提交结果_了解 Selenium 定位方式
※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...
- 扩容是元素还是数组_数组是如何随机访问元素?数组下标为什么从0开始,而不是1?...
作者:鹏磊 来源:搜云库技术团队 数组如何实现随机访问元素 什么是数组? 数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储相同类型的数据. 什么是线性表(Linear List) ...
- 伪元素在父元素中居中_人体中含量最多的元素是什么
2020-10-21 14:05:58文/董玉莹 在人体内,所含元素的含量按从多到少的顺序可排列为:氧.碳.氢.氮.钙.磷.钾.硫.钠.氯.镁等,其中最多的元素是氧元素. 人体元素 人体元素是指组成人 ...
- python selenium 下拉框选择_【selenium】基于python语言,如何用select选择下拉框
在项目测试中遇到了下拉框选择的控件,来总结下如何使用select选择下拉框: 下图是Select类的初始化描述,意思是,给定元素是得是select类型,不是就抛异常.接下来给了例子:要操作这个sele ...
- python selenium 点击开始按钮_使用Selenium和Python单击一个按钮
I have the following code: Expand all When I click on expand all, the whole page loads. How can I do ...
- python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...
嘿,我有一个问题,试图找出这一点: 让我们从一个包含元素和空白列表的列表开始. L = [a, b, c] BL = [ ]我需要做的是在L [0]上执行任务并将结果放入BL [0]中. 然后在L [ ...
- 随机生成元素升序向量_使用random_shuffle()算法随机化序列元素
假设你需要指定范围内的随机数,传统的方法是使用ANSI C的函数random(),然后格式化结果以便结果是落在指定的范围内.但是,使用这个方法至少有两个缺点. 首先,做格式化时,结果常常是扭曲的,所以 ...
- python中序列类型是二维元素向量吗_序列类型是二维元素向量,元素之间存在先后关系,通过序号访问。...
[填空题]MapReduce 计算模式中, Map (映射)的主要任务是:负责输入数据的 . . ,输出 . [多选题]大数据的特征包括( ). [判断题]中断服务过程中如果允许中断嵌套,则优先级高的 ...
- selenium查找文本_在Selenium中查找具有链接文本和部分链接文本的元素
selenium查找文本 Selenium中CSS定位器是一个基本概念,每个旨在使用Selenium执行自动化测试的测试人员都应该意识到这一点. 在Selenium中充分使用CSS定位器可以帮助您以更 ...
最新文章
- linux笔记第一章--基本命令记载
- 记录一次Socket异常:java.net.SocketException: Connection reset
- mysql注入写一句话_Mysql注入root权限直接写一句话马
- web前端工程师热门岗位技能要求前瞻
- C++笔记121023
- 【资源分享】分享十个历史版本的eclipse安装包
- 爬虫日记(7):用urllib和beautifulsoup来实战抓取新闻
- 易语言大漠插件模块制作后台找字FindStrExS和FindStrFastExS
- 大学生php实训总结_php实训报告.doc
- angular- Directive
- Unity 3d 中Debug.Log和Print的区别。
- 亚马逊账号关联:一生只能有一个店铺
- 软件测试丨工具在接口测试中发挥什么样的作用?
- listview 和RecycleView区别
- 计算机存储器件中运行速度最快,选择题:下列存储器中,存取速度最快的是()...
- 新手SEO如何去做好一个网站 简析新手做网站的经验
- matlab画图nan,在Matlab中过滤包含NaN的图像?
- ManualResetEvent使用
- 神舟笔记本驱动问题,自己重装系统的一定要看
- ReactNative工程自定义脚本
热门文章
- linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍
- 运行jar中某个类的main方法
- 宁波python学习_python学习第二十天
- linux ora-00119,Linux oracle ORA-00119 和 ORA-00132
- C#如何将两个List集合合并
- Android开发笔记(一百一十一)聊天室中的Socket通信
- 案例篇-HBase 实战之 MOB 使用指南
- FastDFS安装脚本
- 集群服务器下使用SpringBoot @Scheduled注解定时任务
- Kubernetes PV/PVC/StroageClass 持久化存储简介