首页 > 代码库 > Python+Selenium+Mysql(动态获取数据,数据库交互)
Python+Selenium+Mysql(动态获取数据,数据库交互)
一、创建数据库连接
#!coding:utf-8 import pymysql ‘‘‘ Python3之后不再支持MySQLdb的方式进行访问mysql数据库; 可以采用pymysql的方式 连接方式: 1、导包 import pymysql 2、打开数据库连接 conn = pymysql.connect(host=‘10.*.*.*‘,user=‘root‘,password=‘123456‘,db=‘self_dev‘,charset=‘utf8‘,cursorclass=pymysql.cursors.DictCursor) 备注:其中cursorclass=pymysql.cursors.DictCursor 可有可无,配置的是每个字段的展示方式,按照字典的形式进行展示(方便通过列名进行访问),默认元组形式。 3、使用cursor()方法获取操作游标 cur = connection.cursor() 4、SQL 查询语句 sql = "SELECT * FROM table t where t.name=‘政协‘" 5、执行SQL语句 cur.execute(sql) 6、获取所有记录列表 rows = cur.fetchall() 7、输出 8、关闭数据库连接 connection.close() ‘‘‘ class dbClection: connection = pymysql.connect(host=‘10.*.*.*‘, user=‘root‘, password=‘123456‘, db=‘self_dev‘, charset=‘utf8‘, cursorclass=pymysql.cursors.DictCursor) def getOrgid(self): cur = self.connection.cursor() sql = "SELECT t.id FROM org t where t.name=‘自动化添加(行政区域)‘ and t.status=‘1‘" try: cur.execute(sql) results = cur.fetchall() for row in results: org_id = row[‘id‘] return org_id #print(org_id) except: print(‘Error:unable to fetch data‘) self.connection.close() ‘‘‘ if __name__ == ‘__main__‘: db = dbClection() res = db.getOrgid() print(res) ‘‘‘
二、引用上述创建的dbClection下的getOrgid()方法
#!coding:utf-8 from selenium import webdriver from time import sleep import unittest from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.ui import Select from mySql import dbClection
----------主体省略----------------
def test_add_fenwei(self): u‘‘‘登录‘‘‘ username = ‘org-admin‘ password = ‘123456‘ self.login(username,password) sleep(2) #进入组织管理界面 self.dr.get(self.org_url) sleep(2) db = dbClection() xzjd_org = db.getOrgid() # print(xzjd_org) self.by_xpath(‘//*[@id="%s"]/i‘%xzjd_org).click() sleep(2) self.dr.find_element_by_partial_link_text(‘自动化添加(地域)‘).click() sleep(2) self.by_id(‘addDept‘).click() sleep(3) self.by_id(‘orgName_add‘).send_keys(‘自动化添加(分类)‘) sleep(2) Select(self.by_id("govDeptType_add")).select_by_visible_text("分类") sleep(2) self.by_id(‘saveDeptAdd‘).click()
备注:变量在使用在页面定位中时,需要进行%格式化,否则无法传入。
例如:
db = dbClection()
xzjd_org = db.getOrgid()
# print(xzjd_org)
self.by_xpath(‘//*[@id="%s"]/i‘%xzjd_org).click()
Python+Selenium+Mysql(动态获取数据,数据库交互)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。