(python笔记)python使用JS定位css元素
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import datetime class Zengtao_get(object): def __init__(self, url, account, password):
self.driver = webdriver.Chrome()
self.driver.get(url)
self.driver.maximize_window() self.driver.find_element_by_name(name="account").send_keys(account)
self.driver.find_element_by_name(name="password").send_keys(password)
self.driver.find_element_by_id("submit").click() time.sleep(2) # def login(self, account, password):
# """
# # self.account = account
# # self.password = password
# """ def search(self, value1, value2):
# 搜索条件
self.driver.find_element_by_xpath('//*[@id="bug-search"]/tbody/tr[2]/td/button[3]/i').click()
self.driver.find_element_by_xpath('//*[@id="field1_chosen"]/a/span').click()
self.driver.find_element_by_xpath('//*[@id="field1_chosen"]/div/ul/li[22]').click() # 由谁创建
self.driver.find_element_by_xpath('//*[@id="value1_chosen"]/a/span').click()
self.driver.find_element_by_xpath('//*[@id="value1_chosen"]/a/div[2]/input').send_keys(value1) # 输入搜索内容
self.driver.find_element_by_xpath('//*[@id="value1_chosen"]/a/div[2]/input').send_keys(Keys.ENTER) self.driver.find_element_by_xpath('//*[@id="field2_chosen"]/a/span').click()
self.driver.find_element_by_xpath('//*[@id="field2_chosen"]/div/ul/li[28]').click() # 创建时间
self.driver.find_element_by_xpath('//*[@id="value2"]').click()
self.driver.find_element_by_xpath('//*[@id="value2"]').send_keys(value2) # 输入当天日期
self.driver.find_element_by_xpath('//*[@id="value2"]').send_keys(Keys.ENTER) self.driver.find_element_by_xpath('//*[@id="submit"]').click() # 搜索
time.sleep(2)
# 获取当天创建bug数
js = "return document.querySelector('.table-empty-tip')" # return JS定位css输出值 document.querySelector
bug = self.driver.execute_script(js) # python调用js方法execute_script
#判断元素是否存在
if bug is None:
bug_number = self.driver.find_element_by_xpath('//*[@id="bugForm"]/div[3]/div[3]/strong[1]').text
print('本页共 %s 个bug' % bug_number)
else:
print('当天创建bug数 = 0')
self.driver.quit() if __name__ == '__main__':
# value2 = time.strftime('%Y-%m-%d') # 当天日期
value2 = '2021-3-17'
Run = Zengtao_get('http://192.168.0.1/', 'lkj', '123456')
# Run.login()
Run.search('小学生', value2) # driver.quit()
纯手工,不喜勿喷
(python笔记)python使用JS定位css元素的更多相关文章
- 【Python + Selenium】之JS定位总结
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...
- 使用原生JS定位网页元素
约定:1.<meta name="viewport" content="width=device-width">这种标记简称"wdw&qu ...
- python UI自动化之JS定位
1.话不多说,直接贴入代码 上面的 document.getElementById 可以替换成别的定位方式,比如: 通过name获取:document.getElementsByName 通过标签获取 ...
- 页面元素定位-CSS元素基本定位
基本定位 """属性定位 一 """ # #通过id # driver.find_element_by_css_selector(" ...
- python笔记-python编程优化:常用原则和技术介绍
本人翻译自<Exper Python Programming> 'Premature optimization is the root of all evil in programming ...
- python+selenium基础之XPATH定位(第一篇)
世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等 ...
- python 笔记-转
python笔记 Python 学习笔记 - 14.技巧(Tips) Python 学习笔记 - 13.异常(Exception) Python 学习笔记 - 12.流程控制(Contro ...
- 【selenium学习笔记一】python + selenium定位页面元素的办法。
1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...
- Selenium with Python 005 - 调用js操作页面元素
WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...
- Python+selenium(定位一组元素)
我们熟知Webdriver有8种定位元素的方法,但是当需要定位一组元素的时候,可以使用Webdriver提供的与之对应的8种用于定位一组元素的方法,分别是: find_elements_by_id() ...
随机推荐
- 安装Ubuntu系统到中国移动电视盒子
根据B站的视频资料,貌似这个盒子的性价比要比树莓派高一些,所以做了这个安装实验.新年伊始,armbian库也加紧升级,感觉大家都在想尽一切办法告别3年疫情给大家带来的伤害. B站视频推荐把系统安装在盒 ...
- 序列化框架-Kyro简述
网上有很多资料说 Kryo 只能在 Java 上使用,这点是不对的,事实上除 Java 外,Scala 和 Kotlin 这些基于 JVM 的语言同样可以使用 Kryo 实现序列化. 1.使用方法 ( ...
- day14-JdbcTemplate-01
JdbcTemplate-01 看一个实际需求: 如果希望使用spring框架做项目,Spring框架如何处理对数据库的操作呢? 方案一:使用之前的JdbcUtils类 方案二:spring提供了一个 ...
- Python 异步集群使用
目前在做Python项目用到同步和异步的方法使用Redis单机,现在要增加兼容Redis集群.也就说当前项目用到中以下4种Python使用Redis的方法都用到了. - 同步 异步 单机 涉及 涉及 ...
- SQLSERVER 的 truncate 和 delete 有区别吗?
一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮 ...
- 2023牛客寒假算法基础集训营6 A-L
比赛链接 A 题解 知识点:模拟. 如题. 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; i ...
- 多人协同开发,git workflow 提高团队协作能力
集美们,还在为工作多年而只会使用简单的git指令被质疑是假简历而烦恼吗. Don't worry! || 今天给带来大家一个git攻略指南.成为大手子,参与开源大项目指日可待. . Git 这是 ...
- Python 元组列表排序:初学者可能忽视的细节
P1085 [NOIP2004 普及组] 不高兴的津津 题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞 ...
- UBUNTU切换内核
查询可更换内核的序号 gedit /boot/grub/grub.cfg查询已安装的内核和内核的序号.找到文件中的menuentry (图中在一大堆fi-else底下)menuentry底下还有 ...
- Zstack私有云平台运行实践
很高兴昨天加了大名鼎鼎的杰杰站长的微信,系统运行的怎么样,一定不能只是给力两个字完事,下面就上具体的: 经过这几年的运行费和预研经费的支持,组里除了在线的几台服务器外,慢慢离线也积攒了几台用作调试和做 ...