一、创建数据库连接

#!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(动态获取数据,数据库交互)的更多相关文章

  1. python使用mysql connection获取数据感知不到数据变化问题

    在做数据同步校验的时候,需要从mysql fetch数据和hbase的数据进行对比,发现即使mysql数据变化了,类似下面的代码返回的值还是之前的数据.抽取的代码大概如下: import MySQL ...

  2. [Python爬虫] 之一 : Selenium+Phantomjs动态获取网站数据信息

    本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.c ...

  3. highcharts动态获取数据生成图表问题

    动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴(这里指的是你X轴与Y轴都是变化的数据,如果你的X轴是固定的,像时间等等的那就另说).  柱状图的动态传值: //获取后台数据 va ...

  4. Python Socket请求网站获取数据

     Python Socket请求网站获取数据 ---阻塞 I/O     ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...

  5. echarts通过ajax动态获取数据的方法

    echarts表格的数据一般都需要动态获取,所以总结了一下通过ajax动态获取数据的操作: 插入的方法应该不止一种,我也是接触不久,所以刚学会了一种插入方法: 灵感和经验来自:https://www. ...

  6. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  7. python+selenium实现动态爬取及selenuim的常用操作

    应用实例可以参考博客中的12306自动抢票应用 https://www.cnblogs.com/mumengyun/p/10001109.html 动态网页数据抓取 什么是AJAX: AJAX(Asy ...

  8. Python爬虫之-动态网页数据抓取

    什么是AJAX: AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML.过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意 ...

  9. MySQL随机获取数据的方法,支持大数据量

    最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到 ...

  10. ECharts 从后台动态获取数据 (asp.net)

    (一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...

随机推荐

  1. QPainter 绘制图像接口

    阅读本文大概需要 3 分钟 我们在开发软件的过程中,绘制图像功能必不可少,使用 Qt 绘制图像时非常简单,只需要传递几个参数就可以实现功能,在 Qt 中绘制图像的 api有好几个 void drawI ...

  2. 【ORACLE】删除表空间,没有删除数据文件怎么办?解决办法

    创建表空间 SQL> create tablespace TEST datafile='+DATA/rac/datafile/test01.dbf' size 1g; Tablespace cr ...

  3. 【Oracle】10.2.0.1升级到10.2.0.5

    升级数据库到10.2.0.5   因是测试环境,不需要备份:如是生产系统,建议进行全备份后再进行升级操作,预防数据丢失造成不必要的影响.   步骤: 上传并解压补丁,安装前准备,安装补丁,预升级检查, ...

  4. SDUST数据结构 - chap7 图

    判断题: 选择题: 函数题: 6-1 邻接矩阵存储图的深度优先遍历: 裁判测试程序样例: #include <stdio.h> typedef enum {false, true} boo ...

  5. buuctf刷题之旅—web—WarmUp

    启动靶机 查看源码发现source.php 代码审计,发现hint.php文件 查看hint.php文件(http://7ab330c8-616e-4fc3-9caa-99d9dd66e191.nod ...

  6. 深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

    摘要:本文分享鸿蒙分布式软总线,并对相关源代码进行解析,为在鸿蒙系统平台上工作的相关人员的信息参考和指导. 总线是一种内部结构,在计算机系统中,主机的各个部件通过总线相连,外部设备通过相应的接口电路再 ...

  7. 1.5V升3.3V芯片电路图,稳压3.3V供电MCU模块等

    干电池1.5V可以升到3.3V,通过PW5100干电池升压IC,于外围3个元件:2个电容和一个电感即可组成1.5V升3.3V的电路系统. 干电池属于低能量的电池产品,不过一般使用到干电池的产品也是输出 ...

  8. three.js cannon.js物理引擎之Heightfield

    今天郭先生说一说cannon.js物理引擎之Heightfield高度场,学过场论的朋友都知道物理学中把某个物理量在空间的一个区域内的分布称为场,高度场就是与高度相关的场,而cannon.js物理引擎 ...

  9. PE节表

  10. Architecture and design 洋葱 中间件 装饰器

    Go kit - Frequently asked questions https://gokit.io/faq/ Architecture and design Introduction - Und ...