基于Selenium操作Web界面

目录

一、为什么需要操作Web界面

 二、模拟UI操作的原理

 三、基于Selenium实现

四、验证码的问题


一、为什么需要操作Web界面

 二、模拟UI操作的原理

 三、基于Selenium实现

代码

import time
from selenium import webdriver
# 如果要操作Windows元素,则使用库uiautomation, 如果要处理移动端,appium

# 第一步:先实例化webdriver对象,用于初始化浏览器操作
# 默认情况下,建议将chromedriver.exe等放在PATH环境变量的某个目录中,否则需要在参数executable_path中指定
driver = webdriver.Chrome()
driver = webdriver.Chrome(executable_path="C:/Tools/chromedriver.exe")
driver = webdriver.Firefox()
driver.maximize_window()
# 访问目标网站的页面地址
driver.get('http://192.168.112.188:8080/woniusales/')
time.sleep(2)
print(driver.title)
print(driver.page_source)
driver.refresh()
driver.back()
driver.forward()
driver.get_cookies()

# 第二步:利用DOM的识别机制,去识别和操作界面元素
driver.find_element_by_id('username').send_keys('admin')
time.sleep(1)
driver.find_element_by_id('password').send_keys('admin123')
time.sleep(1)
driver.find_element_by_xpath("//input[@id='verifycode']").send_keys('0000')
time.sleep(1)
driver.find_element_by_xpath("/html/body/div[4]/div/form/div[6]/button").click()
driver.find_element_by_css_selector("body > div.container > div > form > div:nth-child(6) > button").click()
time.sleep(3)

try:
    driver.find_element_by_id('barcode').send_keys('1234567890')
    print("登录成功")
except:
    print("登录失败")

if '请扫描商品条码' in driver.page_source:
    print("登录成功")
else:
    print("登录失败")

driver.close()




# UIAutomation识别Windows元素
import uiautomation

time.sleep(2)
calc = uiautomation.WindowControl(Name='计算器')
calc.ButtonControl(AutomationId='num1Button').Click()
calc.ButtonControl(AutomationId='plusButton').Click()
calc.ButtonControl(Name='五').Click()
calc.ButtonControl(AutomationId='equalButton').Click()

四、验证码的问题

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值