手把手教你写脚本

举报
清安无别事 发表于 2021/12/09 09:27:25 2021/12/09
【摘要】 脚本第一步,却是纸尿裤

这里是清安,selenium断更了有一段时间了,主要是更新python去了,所以,今天我们来点稍微硬核的东西。简单的写个测试脚本,体验一下脚本的快乐。

        项目地址:用户登录 - ShopXO企业级B2C电商系统提供商 - 演示站点

        我们以此为例,我们来写一下登录注册的脚本。

        首先我们先写打开地址的方法:

# -->>>清安<<<---
from selenium import webdriver
from time import sleep
 
# 1.打开项目地址
driver = webdriver.Chrome()
driver.get('http://39.98.138.157/shopxo/public/index.php?s=/index/user/logininfo.html')
# 放入全局隐式等待加载
driver.implicitly_wait(10)
# 推出浏览器
driver.quit()

        这里加入了全局隐士等待有原因的,让它慢慢加载10S,主要是为了渲染界面元素的出现,不然可能会因为网络原因或者其他的原因导致报错。

        在点击注册按钮进入注册页面之前,我们可以写一个判断,判断它打开的网页是不是所需要的网页!以免进入的地方或者避免错误。

# -->>>清安<<<---
from selenium import webdriver
from time import sleep
 
# 1.打开项目地址
driver = webdriver.Chrome()
driver.get('http://39.98.138.157/shopxo/public/index.php?s=/index/user/logininfo.html')
# 放入全局隐士等待加载,让它慢慢加载10S,主要是为了渲染界面元素的出现,不然会报错
driver.implicitly_wait(10)
ele = driver.find_elements_by_xpath('/html/body/div[4]/div/div[2]/div[2]/form/div[1]/label')[0].text
print(ele)
if ele == '登录账号':
    print('进入的是登录注册界面哦')
else:
    raise Exception("请检查页面是否正确")
# 点击登录按钮
driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div[1]/a').click()
 
driver.quit()

       当然这里如果账户有了就会有提示,告诉你账户已经存在了,这时候我们就直接点击登录跳转过去登录即可:

# -->>>清安<<<---
from selenium import webdriver
from time import sleep
 
# 1.打开项目地址
driver = webdriver.Chrome()
driver.get('http://39.98.138.157/shopxo/public/index.php?s=/index/user/logininfo.html')
# 放入全局隐士等待加载,让它慢慢加载10S,主要是为了渲染界面元素的出现,不然会报错
driver.implicitly_wait(10)
ele = driver.find_elements_by_xpath('/html/body/div[4]/div/div[2]/div[2]/form/div[1]/label')[0].text
print(ele)
if ele == '登录账号':
    print('进入的是登录注册界面哦')
else:
    raise Exception("请检查页面是否正确")
# 点击登录按钮
driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div[1]/a').click()
sleep(2)
ele1 = driver.find_element_by_xpath('//label[contains(text(),"用户名")]')
if ele1.text == '用户名':
    driver.find_element_by_name('accounts').send_keys('qingan')
sleep(1)
ele2 = driver.find_element_by_xpath('//label[contains(text(),"设置登录密码")]')
if ele2.text == '设置登录密码':
    driver.find_element_by_name('pwd').send_keys('qingan')
# 勾选阅读并同意
driver.find_element_by_class_name('am-icon-checked').click()
# 点击注册按钮
driver.find_elements_by_xpath('//button[contains(text(),"注册")]')[0].click()
driver.quit()

        这里面用到了try,不懂了可以去看看我写的python自动化快速上手的基础内容,有点类似于ifelse。但是还是有所不同。

        注意:代码自己敲一遍,下一章我们来将脚本升级为框架,其中会多很多的内容,所以这里一定要自己敲一遍。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。