说明:仅作为参考练习,代码中涉及数据均为测试数据。

 from selenium import webdriver
from selenium.webdriver import ActionChains
# from selenium.webdriver.support.ui import WebDriverWait
# from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import time
import mysql.connector #连接数据库
conn = mysql.connector.connect(host='192.168.1.10', port = 3306, user='root', password='abcd@1234', database='lingyunzhubao')
# 操作游标, 获取python操作者mysql命令
cursor = conn.cursor()
# 测试店铺
shopname = "测试20170927"
query_sql ='select * from jch_store t where t.store_name= "%s"' %shopname #此处没有逗号,加逗号会变成tuble类型
delete_sql = 'delete from jch_store where store_name = "%s"' %shopname
cursor.execute(query_sql)
result =cursor.fetchall()
if result is not None:
print("删除已有店铺")
cursor.execute(delete_sql)
conn.commit()
else:
print(shopname +" 该店铺可新增") # 火狐浏览器打开
# driver = webdriver.Firefox()
# driver = webdriver.Ie() # 谷歌,多加几行是为了去掉提示:Chrome正收到自动测试软件的控制
options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options) driver.get("http://192.168.1.10:8080/jcho2o/login/login.do") #最大化浏览器
driver.maximize_window()
#等待浏览器打开
print("登录麦珠宝后台")
time.sleep(3)
driver.find_element_by_id("userName").send_keys("")
driver.find_element_by_id("passWord").send_keys("")
time.sleep(1)
driver.find_element_by_xpath('//*[@id="form1"]/div[6]/button').click()
time.sleep(1)
print("点击[店铺信息设置]")
driver.find_element_by_xpath('//*[@id="side-menu"]/li[1]/a/span').click()
print("进入[店铺信息界面],等待3秒,点击[新增店铺]")
time.sleep(0.5) # 切换frame
driver.switch_to.frame("iframe0")
# print (driver.find_element_by_xpath('//div[text()="新增店铺"]').text)
driver.find_element_by_xpath('//div[text()="新增店铺"]').click() # 尼玛终于找到了 print("进入新增页面,等待3秒后,输入数据")
# 切回默认页面
driver.switch_to.default_content()
time.sleep(0.5)
driver.switch_to.frame("iframe15")
time.sleep(0.5) driver.find_element_by_xpath('//*[@id="txt_shop_name"]').send_keys("测试20170927")
time.sleep(0.3)
# 点击店铺地址下拉框
driver.find_element_by_xpath('//span[text()="请选择省市区"]').click()
#等待3秒,选择省份
time.sleep(0.5)
driver.find_element_by_xpath('//a[text()="北京市"]').click()
time.sleep(0.5)
driver.find_element_by_xpath('/html/body/div/div/div[4]/div[1]/div/div/div[2]/div[2]/dl/dd/a[1]').click()
time.sleep(0.5)
driver.find_element_by_xpath('/html/body/div/div/div[4]/div[1]/div/div/div[2]/div[3]/dl/dd/a[4]').click()
time.sleep(0.5)
driver.find_element_by_id("txt_shop_address_details").send_keys("具体店铺地址")
print("填写店铺收货资料")
# 滑动滚动条下滑到底部
# scroll_to_position = driver.find_element_by_xpath('//button[text()="保存"]')
# ActionChains(driver).move_to_element(scroll_to_position).perform()
# time.sleep(1) #将页面滚动条拖到底部
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
time.sleep(2) # 输入店铺收货人
driver.find_element_by_id("txt_addressee_name").send_keys("店铺收货人")
# 输入店铺联系方式
driver.find_element_by_id("txt_addressee_phone").send_keys("")
#输入店铺收货地址
driver.find_element_by_xpath("/html/body/div/div/div[10]/div[1]/span/span[1]").click()
time.sleep(0.5)
driver.find_element_by_xpath("/html/body/div/div/div[10]/div[1]/div/div/div[2]/div[1]/dl[1]/dd/a[6]").click() time.sleep(0.5)
driver.find_element_by_xpath("/html/body/div/div/div[10]/div[1]/div/div/div[2]/div[2]/dl/dd/a[1]").click()
time.sleep(0.5)
driver.find_element_by_xpath("/html/body/div/div/div[10]/div[1]/div/div/div[2]/div[3]/dl/dd/a[3]").click()
time.sleep(0.5)
driver.find_element_by_id("txt_address_detail").send_keys("琶洲国际采购中心 test")
time.sleep(0.5)
driver.find_element_by_xpath('//button[text()="保存"]').click()
time.sleep(0.5)
driver.switch_to.default_content() cursor.execute(query_sql)
# fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据
new_result = cursor.fetchall()
if new_result is not None:
print("新增店铺成功")
else:
print("新增店铺失败")

selenium自动新增店铺的更多相关文章

  1. [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

    前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Pyth ...

  2. Python + Selenium 自动发布文章(一):开源中国

    https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...

  3. 自动化测试: Selenium 自动登录授权,再 Requests 请求内容

    Selenium 自动登录网站.截图及 Requests 抓取登录后的网页内容.一起了解下吧. Selenium: 支持 Web 浏览器自动化的一系列工具和库的综合项目. Requests: 唯一的一 ...

  4. MY_使用selenium自动登录126/163邮箱并发送邮件

    转自:https://www.cnblogs.com/yin-tao/p/7244082.html 我使用的是python2.7.13+selenium ps:几天之前,我曾多次尝试写这段代码,但是在 ...

  5. 爬虫实战【10】利用Selenium自动登陆京东签到领金币

    今天我们来讲一下如何通过python来实现自动登陆京东,以及签到领取金币. 如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前 ...

  6. 用selenium自动加载浏览器下载图片

    上一篇用requests这个库进行图片的批量下载,只所以可以这样做,是因为豆瓣提供的XHR的接口API,而且接口返回的数据类型为json格式,所以使用起来非常的方便,但是有时候我们需要分析html格式 ...

  7. selenium自动爬取网易易盾的验证码

    我们在爬虫过程中难免会遇到一些拦路虎,比如各种各样的验证码,时不时蹦出来,这时候我们需要去识别它来继续我们的工作,接下来我将爬取网一些滑动验证码,然后通过百度的EasyDL平台进行数据标注,创建模型, ...

  8. Python+selenium自动循环扔QQ邮箱漂流瓶

    Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  9. Python+selenium自动循环送贺卡

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

随机推荐

  1. 【JavaScript】数组方法之基础方法

    数组方法之基础方法 Array 对象属性 属性 描述 constructor 返回对创建此对象的数组函数的引用. length 设置或返回数组中元素的数目. prototype 使您有能力向对象添加属 ...

  2. linux运维、架构之路-MySQL(二)

    一.SQL语句实战 1.DDL语句——库管理 ①查看数据库 show databases; show databases like 'word%';#模糊查询数据库 ②创建数据库 create dat ...

  3. CentOS7下修改默认网卡名为eth0的两种方法

    前言 大家都知道CentOS7默认的网卡名称是和设备名称是随机的,如果要修改网卡名称以 eth 开头,有两种方式,如下: 第一种方式 这种方式适合在安装操作系统的时候进行设置, 点击 Tab,打开ke ...

  4. Kohana Minion cli 学习

    1.E:\html\tproject\framebota\platform\bootstrap.php Kohana::modules(array( 'auth' => MODPATH.'aut ...

  5. .net api 和java平台对接技术总结

    这两天 一直和京东对接接口,我们用.net api 提供接口,对方用java调用,本来没什么问题,但是对方对数据安全要求特别严,要验签,于是噩梦开始了. 1.在传输的时候,约定传输格式: HttpWe ...

  6. (8)Linux(客户端)和Windows(服务端)下socket通信实例

    Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows   Client端 #include <st ...

  7. UE4 Pro Tips(keeps updating)

    Consolidate 功能 :在工程范围内用一种资源替换另外一种或多种资源具体操作:同时在编辑器中选中两个或多个资源,右键>Asset Actions>Replace Reference ...

  8. electron原来这么简单----打包你的react、VUE桌面应用程序

    也许你不甘心只写网页,被人叫做"他会写网页",也许你有项目需求,必须写桌面应用,然而你只会前端,没关系.网上的教程很多,但是很少有能说的浅显易懂的,我尽力将electron打包应用 ...

  9. 北风设计模式课程---接口分离原则(Interface Segregation Principle)

    北风设计模式课程---接口分离原则(Interface Segregation Principle) 一.总结 一句话总结: 接口分离原则描述为 "客户类不应被强迫依赖那些它们不需要的接口& ...

  10. What does the dot after dollar sign mean in jQuery when declaring variables?

    https://stackoverflow.com/questions/22156664/what-does-the-dot-after-dollar-sign-mean-in-jquery-when ...