python_selenium
学习归类总结分享
__泡泡茶壶
这个作者很懒,什么都没留下…
展开
-
python中PYQUERY用法总结
1、安装pip install pyquery2、引用方法from pyquery import PyQuery as pq3、使用方法3.1初始化方法from pyquery import PyQuery as pqdoc =pq(html) #解析html字符串doc =pq("https://www.baidu.com/") #解析网页doc =pq("./a.html") #解析html 文本3.2基本CSS选择器from pyquery import PyQuery a转载 2022-03-15 17:13:59 · 833 阅读 · 0 评论 -
unittest多线程生成测试报告
下载beautifulreport下载完之后,把BeautifulReport整个包放到python的/Lib/site-packages/目录下使用方法:1.项目结构:case test开头的.py用例脚本report 放生成的html报告run_all.py 用于执行全部脚本2.单个测试脚本test_a.py参考# coding:utf-8import unittestfrom selenium import webdriverimport timeclass Testaa转载 2021-11-25 21:39:01 · 293 阅读 · 0 评论 -
定位shadow
1、先定位到 shadow-root 的宿主节点(此处为 id=box 的 div)2、切换到 shadow-root 中3、然后再选择 shadow-root 下的 span 标签import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get(url="http:127.0.0.1:5000/test")js = 'document.getElementById("box").shadowR.转载 2021-05-20 16:43:00 · 1482 阅读 · 0 评论 -
selenium “could not be scrolled into view” 解决方法
原因:代码太快了,页面没反应过来解决方法:1.让脚本sleep一下,等页面加载完就可以了2.第二种情况是,某些情况元素的visibility为hidden或者display属性为none,我们在页面看不到但是实际是存在页面的一些元素,这时候用 is_display 来判断(ele.display()):if ele.is_displayed():#可以操作了pass...转载 2021-05-19 19:54:43 · 2368 阅读 · 0 评论 -
selenium之StaleElementReferenceException
StaleElementReferenceException: Message: The element reference of is stale; either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed元素引用已经失效;要么元素不再附加到DOM中,要么不在当前框架上下文中,要么文档已经刷新原因:机子太原创 2021-05-16 21:55:40 · 616 阅读 · 0 评论 -
ResourceWarning: unclosed file
报错信息:ResourceWarning: unclosed file <_io.TextIOWrapper name='······' mode='r' encoding='utf-8'> file = get_data(file_name='······')问题代码:def get_data(file_name): rows = [] testReportDir = "../test/" testReportDir_FileName = testRepo原创 2021-05-12 17:34:31 · 5117 阅读 · 3 评论 -
如何用python通过pymysql操作MYSQL
import pymysqlfrom pprint import pprint# 打开数据库连接conn = pymysql.connect( host="ip地址", port=端口号, user="数据库用户名", passwd="数据库密码", db="操作的数据名", charset="编码格式")#print(conn)#print(type(conn))cur = conn.cursor() # 定义一个游标,通过游标来操作数据库原创 2021-05-10 15:11:02 · 95 阅读 · 0 评论 -
selenium元素点击无效处理方法
一、判断元素被定为到1、给元素加高亮显性js = '''arguments[0].setAttribute('style',arguments[1]);'''self.driver.excute_script(js,element)二、解决方案思路:默认selenium的点击操作是点击元素(0,0)坐标,那么我们可以在元素x,y坐标偏移一点位置点击from selenium.webdriver.common.action_chains import ActionChainsele = s原创 2021-05-10 02:18:03 · 3618 阅读 · 2 评论 -
python+selenium+unittest元素等待小结
一、显性等待WebDriverWait,配合该类的until()和until_not()方法;表示程序每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,否则继续每隔x秒去判断;指定时间截止。如果超时就会抛出异常。from selenium import webdriver from selenium.webdriver.support.wait importWebDriverWait from selenium.webdriver.support importexpected_c原创 2021-05-10 00:54:56 · 359 阅读 · 0 评论 -
如何用PYTHON通过mysql-connector操作MYSQL
一、安装mysql-connector 驱动命令是:pip install mysql-connector直到提示安装成功即可。import mysql.connector如果没有报错,就表示安装成功!二、创建MySQL数据库连接import mysql.connectormydb = mysql.connector.connect( host = "localhost", user = "root", passwd = "123456", database = "test"原创 2021-04-16 19:19:35 · 215 阅读 · 0 评论 -
selenium浏览器元素的操作
定位元素只是第一步,定位之后需要对这个元素进行操作,或点击(按钮)或输入(输入框)或提交(表单)等等。。。一、click()方法实现键盘的点击from selenium import webdriverfrom time import sleepdr = webdriver.Chrome()url = "https://www.so.com"dr.get(url)#定位到360输入框,输入selenium#send_keys()方法模拟键盘输入dr.find_element_by_id原创 2021-04-16 15:24:58 · 302 阅读 · 0 评论 -
pythonselenium中元素定位总结
一、通过id定位元素find_element_by_id("input")find_element_by_id("search-button")find_element_by_id()方法用于元素中id 属性的定位。二、通过class定位元素find_element_by_class_name("placeholder")find_element_by_class_name("skin-search-button")find_element_by_class_name()方法用于元素中c..原创 2021-04-16 11:57:35 · 1351 阅读 · 0 评论 -
selenium中如何高亮显示定位元素
场景:运行UI自动化过程中,为了更好的显示这个过程,可以进行元素高亮,以显眼的颜色来提示测试人员目前操作到哪一步了办法:通过driver.exectue_scirpt() 执行JavaScript代码,执行的JavaScript代码是支持传入参数的,甚至可以传入定位到的元素思路:通过对element进行改装from selenium import webdriverfrom time import sleepdef find(driver,by,loc): '''by代表定位方式,loc原创 2021-04-09 11:40:56 · 2098 阅读 · 0 评论 -
JS_test_demo
public.js_element.pyclass CssElement(object): driver = None def __init__(self, css, index=None, describe=None): self.css = css if index is None: self.index = 0 else: self.index = index self.原创 2021-04-07 18:14:09 · 86 阅读 · 0 评论 -
web自动化与JS的邂逅
一、窗口滚动用途:滑动WEB页面def scrollTo(x, y): js = """window.scrollTo("{x}", "{y}")""".format(x=x, y=y) driver.execute_script(js)参数说明x:屏幕向右移动的距离y:屏幕向下移动的距离二、移除属性用途:该方法可以删除元素的任何属性,主要用来移除时间控件的readonly属性def remove_attribute(css, attribute, index=转载 2021-04-07 18:02:56 · 135 阅读 · 0 评论 -
调用openpyxl出错:zipfile.BadZipFile: File is not a zip file
背景:直接在pycharm中创建了.xlsx文件,直接读取数据就会报此错误:解决方法:删除此文件,另外用wps或其他创建.xlsx文件。转载 2021-03-25 23:57:28 · 1294 阅读 · 1 评论