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元素的更多相关文章

  1. 【Python + Selenium】之JS定位总结

    感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...

  2. 使用原生JS定位网页元素

    约定:1.<meta name="viewport" content="width=device-width">这种标记简称"wdw&qu ...

  3. python UI自动化之JS定位

    1.话不多说,直接贴入代码 上面的 document.getElementById 可以替换成别的定位方式,比如: 通过name获取:document.getElementsByName 通过标签获取 ...

  4. 页面元素定位-CSS元素基本定位

    基本定位 """属性定位 一 """ # #通过id # driver.find_element_by_css_selector(" ...

  5. python笔记-python编程优化:常用原则和技术介绍

    本人翻译自<Exper Python Programming> 'Premature optimization is the root of all evil in programming ...

  6. python+selenium基础之XPATH定位(第一篇)

    世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等 ...

  7. python 笔记-转

    python笔记   Python 学习笔记 - 14.技巧(Tips)   Python 学习笔记 - 13.异常(Exception)   Python 学习笔记 - 12.流程控制(Contro ...

  8. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  9. Selenium with Python 005 - 调用js操作页面元素

    WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...

  10. Python+selenium(定位一组元素)

    我们熟知Webdriver有8种定位元素的方法,但是当需要定位一组元素的时候,可以使用Webdriver提供的与之对应的8种用于定位一组元素的方法,分别是: find_elements_by_id() ...

随机推荐

  1. ajax补充知识点、多对多外键的三种创建方式、django内置序列化组件、批量操作数据、分页器推导思路与自定义分页器的使用、form组件

    今日内容 ajax补充说明 主要是针对回调函数args接收到的响应数据 1.后端request.is_ajax() 用于判断当前请求是否由ajax发出 2.后端返回的三板斧都会被args接收不在影响整 ...

  2. 闻其声而知雅意,基于Pytorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)

    前文回溯,之前一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转 ...

  3. vue 中引入iframe,动态设置其src,遇到的一些小问题总结

    1.重置其样式,去掉外框以及滚动条等 <iframe id="myIframe" ref="iframe_a" :src="mySrc" ...

  4. 委派模式——从SLF4J说起

    作者:vivo 互联网服务器团队- Xiong yangxin 将某个通用解决方案包装成成熟的工具包,是每一个技术建设工作者必须思考且必须解决的问题.本文从业内流行的既有工具包入手,解析实现思路,沉淀 ...

  5. SEO关键词布局方法

    关键词在<title>标签. description属性. keywords属性中是如何布局的. 1.<title>标签中布局关键词 <title>标签是用来定义网 ...

  6. Quartz.Net源码Example之Quartz.Examples.AspNetCore

    Quartz.Examples.AspNetCore ​ .NetCore的Web系统,后台主要执行多个触发器任务,前台展示所有触发器信息和正在执行的作业的相关信息,还可以通过访问health-UI来 ...

  7. 文盘Rust -- rust 连接云上数仓 starwift

    作者:京东云 贾世闻 最近想看看 rust 如何集成 clickhouse,又犯了好吃懒做的心理(不想自己建环境),刚好京东云发布了兼容ck 的云原生数仓 Starwfit,于是搞了个实例折腾一番. ...

  8. 快速入门API Explorer

    摘要:华为云API Explorer为开发者提供一站式API解决方案统一平台,集成华为云服务所有开放 API,支持全量快速检索.可视化调试.帮助文档.代码示例等能力,帮助开发者快速查找.学习API和使 ...

  9. .NET 支付宝SDK新版 AlipayEasySDK 配置文件详细说明

    config代码: using Tea; namespace Alipay.EasySDK.Kernel { /// <summary> /// 客户端配置参数模型 /// </su ...

  10. 使用HtmlAgilityPack 爬取 国家统计局 区划和城乡划分代码

    HtmlAgilityPack:Html解析神器,根据url地址解析html页面内容. 项目引用HtmlAgilityPack.dll文件或者通过安装 nuget 包 HtmlAgilityPack ...