找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

ui自动化,python连接数据库

[复制链接]
python去操作数据库

:param host: Host where the database server is located
    :param user: Username to log in as
    :param password: Password to use.
    :param database: Database to use, None to not use a particular one.
    :param port: MySQL port to use, default is usually OK. (default: 3306)
import pymysql#导入操作mysql  数据库的库    用来链接mysql数据库
#先创建一个数据库的连接对象 db
db = pymysql.connect(host='192.168.91.128',
                     user='root',
                     passwd='123456',
                     database='dcs8',
                     port=3306)
#创建一个游标对象
# 什么叫游标?作用是什么?
# 1、游标可以用来执行sql语句
# 2、游标执行sql语句之后有返回值
cursor = db.cursor()       #创建一个游标对象
# 3、执行删除操作
# del_sql = 'delete from test1 where id=1'
# cursor.execute(del_sql)
#db.commit()           #自动提交删除的这个动作

# 4、删除之后执行查询的操作
sql = 'select * from test1'
cursor.execute(sql)
#执行之后通过游标对象调用fetchone方法拿到删除之后的第一行数据
# one = cursor.fetchone()
# print(one)
#通过游标对象调用fetchall拿到所有数据
all = cursor.fetchall()
print(all)
print(type(all))    #类型为元组

把上面的代码进行封装(假如我封装了一个功能,让它查所有表就查所有表,查第一行,让它删除哪一行就删除哪一行)
工具类:工具类里面有工具函数或者工具方法
import pymysql
class Db_utility():                #创建一个数据库工具类
    def __init__(self):
        self.host = '192.168.91.128'
        self.user = 'root'
        self.password = '123456'
        self.database = 'dcs8'
        self.port = 3306

    def get_connection(self):
    #封装了一个获取MySql数据库连接对象
        db = pymysql.connect(host=self.host,user=self.user,password=self.password,database=self.database,port=self.port)
        return db
    def select_one(self,sql):
        db = self.get_connection()     #获取上一个方法返回db对象
        cursor = db.cursor()         #拿到数据库的游标
        cursor.execute(sql)
        db.commit()
        one = cursor.fetchone()
        return one     #return的意思就是把执行的结果返回到调用的地方

        封装一个删除表中第一行数据并且返回剩余数据的工具方法
    def del_first(self,del_sql,select_sql):
        db = self.get_connection()
        cursor = db .cursor()
        cursor.execute(del_sql)
        db.commit()
        cursor.execute(select_sql)
        all = cursor.fetchall()
        return all
    def inser(self,ins_sql):
        db = self.get_connection()
        cursor =db.cursor()
        cursor.execute(ins_sql)
        db.commit()

if __name__=='__main__':
    d = Db_utility()
    # print(d.select_one('select * from test1'))
    # print(d.del_first('delete from test1 limit 1','select * from test1'))
    ##往表里插入一条数据
    # d.inser('insert into test1 values(1,"xiaoyi")')
    ## 往表里插入多条数据
    aa=7
    for i in range(5):
        sql = 'insert into test1 values'+'('+str(aa)+',"xiaoyi"'+')'
        d.inser(sql)
        aa+=1
selenium:from selenium import webdriver    #从selenium库中导入webdriver包#创建一个谷歌浏览器的对象,drvier就是对象 ,对象名是自定义的
driver = webdriver.Chrome()       #Chrome() 是一个匿名对象
#用谷歌浏览器打开百度首页
driver.get('https://www.baidu.com/')
# 浏览器最大化
driver.maximize_window()
#selenium中的九大元素定位方法
#1、id定位
driver.find_element_by_id('kw').send_keys('NBA')
# #2、name定位
driver.find_element_by_name('wd').send_keys('勒布朗')
# #3、class定位
driver.find_element_by_class_name('s_ipt').send_keys('詹姆斯')
#4、link_text定位  精准匹配
driver.find_element_by_link_text('hao123').click()
#5、partial_link_text定位   模糊匹配
driver.find_element_by_partial_link_text('地').click()

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册