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

 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. 详述 DB2 分页查询及 Java 实现的示例_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 博主说:有时候,我们需要对数据库中现有的数据进行大量处理操作(例如表中的某个字段需要全部更新等),如果直接使用selec ...

  2. SpringCloud学习系列-SpringCloud

    SpringCloud是什么? SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶 SpringCloud,基于SpringBoot提供了一 ...

  3. linux 多进程并发服务__关于子进程回收的方法

    以TCPServ 服务程序来说: 1)父进程:负责系统初始化,以及监听(listen),接受连接请求(accept);其中accept 默认阻塞调用. 2)每接受一个连接请求,动态新建(fork)一个 ...

  4. jdk7.x对Jenkins上的SonarQube Plugin的支持不足,替换方式

    Jenkins.war放在Tomcat7下,完成各种配置,包括Jenkins中JDK,Maven,Git等. 最初的配置为Tomcat7, JDK7.x. 因为要在Jenkins上安装SonarQub ...

  5. 20180912-Java实例02

    Java 实例 – 删除字符串中的一个字符 以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中. // Main.j ...

  6. J - Mr.Panda and TubeMaster

    题解 我们可以把每个格子拆成两个点,一个表示横向的,一个表示纵向的,相邻的格子横向和纵向连边. 如果直接按照题意做的话,我们应当在横向和纵向的点之间连边,有限制的边设下界为1,然后跑可行流. 或者考虑 ...

  7. BootStrap 用法

    1 下载bootstrap组件 2  在jsp页面中加入bootstrap <link rel="stylesheet" type="text/css" ...

  8. sip/sdp/rtp/rtcp/rtsp间的关系

    用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步. 转自该博客:http://blog.csdn.net/xdwyyan/article/detai ...

  9. SQL优化—nested loop优化

    跑批时间段22:00-23:00,生成AWR报告 分析sql:SQL_ID='5hfw4smzs2pqw' 执行计划: SQL> select *  FROM TABLE(DBMS_XPLAN. ...

  10. 洛谷P2657 windy数

    传送 裸的数位dp 看这个题面,要求相邻两个数字之差至少为2,所以我们记录当前填的数的最后一位 同时要考虑毒瘤的前导0.如果填的数前面都是0,则这一位填0是合法的. emmm具体的看代码叭 #incl ...