appium+pytohn写一段自动化抢票代码
时间: 2023-09-16 10:14:58 浏览: 123
以下是一个简单的 Appium+Python 自动化抢票代码示例:
```python
# 导入必要的库
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 创建 Appium 驱动
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator',
'appPackage': 'com.example.ticketapp',
'appActivity': 'MainActivity'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 等待首页加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.ID, 'com.example.ticketapp:id/home_button')))
# 点击抢票按钮
grab_btn = driver.find_element_by_id('com.example.ticketapp:id/grab_button')
grab_btn.click()
# 等待抢票页面加载完成
wait.until(EC.presence_of_element_located((By.ID, 'com.example.ticketapp:id/ticket_list')))
# 找到需要抢的票并点击购买
ticket_list = driver.find_element_by_id('com.example.ticketapp:id/ticket_list')
tickets = ticket_list.find_elements_by_class_name('ticket')
for ticket in tickets:
if ticket.find_element_by_class_name('ticket_name').text == '北京到上海':
ticket.find_element_by_class_name('buy_button').click()
break
# 等待购票页面加载完成
wait.until(EC.presence_of_element_located((By.ID, 'com.example.ticketapp:id/confirm_button')))
# 填写购票信息并确认购买
name_input = driver.find_element_by_id('com.example.ticketapp:id/name_input')
name_input.send_keys('张三')
id_input = driver.find_element_by_id('com.example.ticketapp:id/id_input')
id_input.send_keys('123456789012345678')
confirm_btn = driver.find_element_by_id('com.example.ticketapp:id/confirm_button')
confirm_btn.click()
# 关闭驱动
driver.quit()
```
这里假设抢票 APP 的首页有一个 “抢票” 按钮,抢票页面有一个票列表,每个票包含一个名称和一个购买按钮。购票页面有一个姓名输入框、一个身份证输入框和一个确认购买按钮。这个示例代码会找到名为 “北京到上海” 的票并购买,填写姓名和身份证后确认购买。需要根据实际情况修改相应的元素 ID 和属性名。
阅读全文