selenium自动新增店铺
说明:仅作为参考练习,代码中涉及数据均为测试数据。
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自动新增店铺的更多相关文章
- [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图
前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能. [Pyth ...
- Python + Selenium 自动发布文章(一):开源中国
https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...
- 自动化测试: Selenium 自动登录授权,再 Requests 请求内容
Selenium 自动登录网站.截图及 Requests 抓取登录后的网页内容.一起了解下吧. Selenium: 支持 Web 浏览器自动化的一系列工具和库的综合项目. Requests: 唯一的一 ...
- MY_使用selenium自动登录126/163邮箱并发送邮件
转自:https://www.cnblogs.com/yin-tao/p/7244082.html 我使用的是python2.7.13+selenium ps:几天之前,我曾多次尝试写这段代码,但是在 ...
- 爬虫实战【10】利用Selenium自动登陆京东签到领金币
今天我们来讲一下如何通过python来实现自动登陆京东,以及签到领取金币. 如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前 ...
- 用selenium自动加载浏览器下载图片
上一篇用requests这个库进行图片的批量下载,只所以可以这样做,是因为豆瓣提供的XHR的接口API,而且接口返回的数据类型为json格式,所以使用起来非常的方便,但是有时候我们需要分析html格式 ...
- selenium自动爬取网易易盾的验证码
我们在爬虫过程中难免会遇到一些拦路虎,比如各种各样的验证码,时不时蹦出来,这时候我们需要去识别它来继续我们的工作,接下来我将爬取网一些滑动验证码,然后通过百度的EasyDL平台进行数据标注,创建模型, ...
- Python+selenium自动循环扔QQ邮箱漂流瓶
Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...
- Python+selenium自动循环送贺卡
Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...
随机推荐
- 使用JS实现可断点续传的文件上传方案
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- 字典树模板( 指针版 && 数组版 )
模板 : #include<string.h> #include<stdio.h> #include<malloc.h> #include<iostream ...
- 【BZOJ5092】分割序列(高维前缀和)
题意:对于一个长度为n的非负整数序列b_1,b_2,...,b_n, 定义这个序列的能量为:f(b)=max{i=0,1,...,n}((b_1 xor b_2 xor...xor b_i)+(b_{ ...
- 手写Tomcat源码
http://search.bilibili.com/all?keyword=%E6%89%8B%E5%86%99Tomcat%E6%BA%90%E7%A0%81 tomcat源码分析一:https: ...
- 6.12友谊赛T4城市交通费题解
与普通的最短路径不同的是,题目中新引入了一个计入总体的费用——城市建设费.由于城市建设费由整体的某最大值决定,导致解没有最优子结构的性质,给思维带来难度. 既然最棘手的是城市建设费,我们就对它分类讨论 ...
- github 的 fork 取消功能
进入该 fork 目录后 找到 Settings 点击后拉到底 找到含有 Delete 字样的按钮点击 弹出的对话框输入你删除的这个项目名 后删除 链接
- Actor Roles 图示
Udemy上的教程<Unreal Multiplayer Mastery - Online Game Development in C++>中对Actor Roles的总结非常直观到位,一 ...
- Oracle--创建TRIGGER实现跟踪用户登录信息
---创建日志表记录用户登录信息create table user_log( user_id VARCHAR2(30), session_id NUMBER(10), ...
- ES6 二进制和八进制字面量
ES6 支持二进制和八进制的字面量,通过在数字前面添加 0o 或者 0O 即可将其转换为二进制值: let oValue = 0o10; console.log(oValue); // 8 let b ...
- Hypermesh中弹簧单元设置
1D >> springs 单元类型 CBUSH1D 单元属性 PBUSH1D