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判断标签的元素值是否存在相关推荐

  1. selenium 表单提交结果_了解 Selenium 定位方式

    ※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...

  2. 扩容是元素还是数组_数组是如何随机访问元素?数组下标为什么从0开始,而不是1?...

    作者:鹏磊 来源:搜云库技术团队 数组如何实现随机访问元素 什么是数组? 数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储相同类型的数据. 什么是线性表(Linear List) ...

  3. 伪元素在父元素中居中_人体中含量最多的元素是什么

    2020-10-21 14:05:58文/董玉莹 在人体内,所含元素的含量按从多到少的顺序可排列为:氧.碳.氢.氮.钙.磷.钾.硫.钠.氯.镁等,其中最多的元素是氧元素. 人体元素 人体元素是指组成人 ...

  4. python selenium 下拉框选择_【selenium】基于python语言,如何用select选择下拉框

    在项目测试中遇到了下拉框选择的控件,来总结下如何使用select选择下拉框: 下图是Select类的初始化描述,意思是,给定元素是得是select类型,不是就抛异常.接下来给了例子:要操作这个sele ...

  5. 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 ...

  6. python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...

    嘿,我有一个问题,试图找出这一点: 让我们从一个包含元素和空白列表的列表开始. L = [a, b, c] BL = [ ]我需要做的是在L [0]上执行任务并将结果放入BL [0]中. 然后在L [ ...

  7. 随机生成元素升序向量_使用random_shuffle()算法随机化序列元素

    假设你需要指定范围内的随机数,传统的方法是使用ANSI C的函数random(),然后格式化结果以便结果是落在指定的范围内.但是,使用这个方法至少有两个缺点. 首先,做格式化时,结果常常是扭曲的,所以 ...

  8. python中序列类型是二维元素向量吗_序列类型是二维元素向量,元素之间存在先后关系,通过序号访问。...

    [填空题]MapReduce 计算模式中, Map (映射)的主要任务是:负责输入数据的 . . ,输出 . [多选题]大数据的特征包括( ). [判断题]中断服务过程中如果允许中断嵌套,则优先级高的 ...

  9. selenium查找文本_在Selenium中查找具有链接文本和部分链接文本的元素

    selenium查找文本 Selenium中CSS定位器是一个基本概念,每个旨在使用Selenium执行自动化测试的测试人员都应该意识到这一点. 在Selenium中充分使用CSS定位器可以帮助您以更 ...

最新文章

  1. linux笔记第一章--基本命令记载
  2. 记录一次Socket异常:java.net.SocketException: Connection reset
  3. mysql注入写一句话_Mysql注入root权限直接写一句话马
  4. web前端工程师热门岗位技能要求前瞻
  5. C++笔记121023
  6. 【资源分享】分享十个历史版本的eclipse安装包
  7. 爬虫日记(7):用urllib和beautifulsoup来实战抓取新闻
  8. 易语言大漠插件模块制作后台找字FindStrExS和FindStrFastExS
  9. 大学生php实训总结_php实训报告.doc
  10. angular- Directive
  11. Unity 3d 中Debug.Log和Print的区别。
  12. 亚马逊账号关联:一生只能有一个店铺
  13. 软件测试丨工具在接口测试中发挥什么样的作用?
  14. listview 和RecycleView区别
  15. 计算机存储器件中运行速度最快,选择题:下列存储器中,存取速度最快的是()...
  16. 新手SEO如何去做好一个网站 简析新手做网站的经验
  17. matlab画图nan,在Matlab中过滤包含NaN的图像?
  18. ManualResetEvent使用
  19. 神舟笔记本驱动问题,自己重装系统的一定要看
  20. ReactNative工程自定义脚本

热门文章

  1. linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍
  2. 运行jar中某个类的main方法
  3. 宁波python学习_python学习第二十天
  4. linux ora-00119,Linux oracle ORA-00119 和 ORA-00132
  5. C#如何将两个List集合合并
  6. Android开发笔记(一百一十一)聊天室中的Socket通信
  7. 案例篇-HBase 实战之 MOB 使用指南
  8. FastDFS安装脚本
  9. 集群服务器下使用SpringBoot @Scheduled注解定时任务
  10. Kubernetes PV/PVC/StroageClass 持久化存储简介