(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() ...
随机推荐
- vh 存在问题?试试动态视口单位之 dvh、svh、lvh
大部分同学都知道,在 CSS 世界中,有 vw.vh.vmax.vmin 这几个与视口 Viewport 相关的单位. 正常而言: 1vw 等于1/100的视口宽度 (Viewport Width) ...
- 最新编程语言排名Python、C、Java 和 C++ 已形成四足鼎立之势
引言 技术的千变万化,都是有迹可循的,随着最新的 TIOBE 十月编程语言榜单重磅发布,不同开发语言的排名和发展趋势也随之揭晓! 四大编程语言不断增强其主导地位 曾几何时,编程语言界中 Java.C. ...
- Quartz.Net 官方教程 Best Practices
最佳实践 JobDataMap 建议只存储基本数据(含String),避免序列化问题 作业执行期间,JobDetail和Trgger的底层共用一个JobDataMap 实例,因此Trigger的数据会 ...
- (Newtonsoft)Json增删改查
public static class JsonHelper { #region 字段 private static string json; public static string path; # ...
- docker命令之docker build
docker命令之docker build 明天要讲docker file的公开课,正好借此机会,整理下docker 命令的专题 语法 docker build [OPTIONS] PATH | UR ...
- 搭个ChatGPT算法模型,离Java程序员有多远?
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 最近 ChatGPT 很火,火到了各行各业.记得去年更多的还是码农最新体验后拿它搜代码,现在各 ...
- 模型预处理层介绍(1) - Discretization
预处理的作用主要在于将难以表达的string或者数组转换成模型容易训练的向量表示,其中转化过程大多是形成一张查询表用来查询. 常见的预处理方式包括: class Discretization: Buc ...
- Portainer功能使用之开启远程访问
配置远程连接Docker服务 1.配置 说明:docker默认没有打开"2375"端口,需要先进行配置开启端口 命令 修改配置:vim /usr/lib/systemd/syste ...
- CSS常用属性(2)
(4) position(定位) fixed 一般用来写网页顶端的固定导航条,或者两侧的菜单. <!--对于块级标签来说加上position:fixed之后,该div就不会占一整行,一般需要手动 ...
- 转载:屎人-->诗人系列--码农之歌
转贴经常关注的一个博主的文,感觉还挺有趣: https://goofegg.github.io/content.html?id=141 ************************** 这个系列第 ...