112 lines
4.2 KiB
Python
112 lines
4.2 KiB
Python
import time
|
|
import traceback
|
|
|
|
from helium import *
|
|
from selenium.webdriver import ChromeOptions
|
|
|
|
chrome_options = ChromeOptions()
|
|
mobile_emulation = {'deviceName': 'iPad Mini'}
|
|
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
|
|
#chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
|
|
#chrome_options.add_experimental_option('useAutomationExtension', False)
|
|
chrome_options.add_argument('--no-sandbox')
|
|
chrome_options.add_argument('--headless')
|
|
chrome_options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"')
|
|
driver = start_chrome("https://youdian.jindianle.com/", options=chrome_options)
|
|
try:
|
|
click(Text("您尚未登录,点击登录"))
|
|
click(Text("密码登录"))
|
|
write("15359827092", into="请输入手机号")
|
|
write("c113w927j", into="请输入6-12位数字或字母")
|
|
click(Button("登 录"))
|
|
# 进入页面先点击关闭弹窗按钮
|
|
# _topclose = S('div.layerimg_topclose')
|
|
# if _topclose.exists:
|
|
# click(_topclose)
|
|
_close = S('p.close')
|
|
if _close.exists:
|
|
click(_close)
|
|
|
|
#店内账本
|
|
# click(Text("店内账本"))
|
|
# moneynum = S('//span[contains(@class, "gray3") and contains(@class, "moneynum")]')
|
|
# wait_until(moneynum.exists)
|
|
# if moneynum is not None:
|
|
# balance = moneynum.web_element.text
|
|
# print(f"金额还剩:{balance}")
|
|
# else:
|
|
# print("元素未找到")
|
|
# # 回退
|
|
# back = S('#vue2_el > header > div.back > a')
|
|
# click(back)
|
|
|
|
#选号记录
|
|
# click(Text("选号记录"))
|
|
# # 回退
|
|
# back = S('#vue2_el > header > div.back > a')
|
|
# click(back)
|
|
|
|
|
|
# 点击排列三
|
|
# pls = S('//*[@id="vue2_el"]/div/section/div[6]/div[4]/div[3]')
|
|
pls = S('p.lottname.p3')
|
|
wait_until(pls.exists)
|
|
click(pls)
|
|
# wait_until(Text('组选').exists)
|
|
click(Text('组选'))
|
|
# result = ['129', '156', '138', '237', '147']
|
|
result = ['346', '139', '247', '256', '049']
|
|
for index, item in enumerate(result):
|
|
if len(set(item)) == 3:
|
|
# 普通投注-> 取消组3
|
|
click(Text('普通投注'))
|
|
for i in item:
|
|
ball_line = S(f'//*[@id="body"]/section/div[3]/div[2]/ul/li[{int(i) + 1}]/p[1]')
|
|
if ball_line.exists:
|
|
click(ball_line)
|
|
print(ball_line.web_element.text)
|
|
else:
|
|
print(f"{i}不存在")
|
|
wait_until(Text("组3").exists)
|
|
click(Text("组3"))
|
|
else:
|
|
click(Text('组3单式'))
|
|
if item[0] == item[1]:
|
|
double_ball = S(f'//*[@id="body"]/section/div[3]/div[1]/div[2]/ul/li[{int(item[0]) + 1}]/p')
|
|
single_ball = S(f'//*[@id="body"]/section/div[3]/div[2]/div[2]/ul/li[{int(item[2]) + 1}]/p')
|
|
else:
|
|
double_ball = S(f'//*[@id="body"]/section/div[3]/div[1]/div[2]/ul/li[{int(item[2]) + 1}]/p')
|
|
single_ball = S(f'//*[@id="body"]/section/div[3]/div[2]/div[2]/ul/li[{int(item[0]) + 1}]/p')
|
|
click(double_ball)
|
|
click(single_ball)
|
|
print(f"对子号:{double_ball.web_element.text}")
|
|
print(f"非对子号:{single_ball.web_element.text}")
|
|
print(f"{index}: {item}")
|
|
wait_until(Text("下一步").exists)
|
|
click(Text("下一步"))
|
|
if index + 1 != len(result):
|
|
wait_until(Text("+继续添加").exists)
|
|
click(Text("+继续添加"))
|
|
# # 设置倍数后,再点击一次下一步
|
|
plus = Text("+")
|
|
for i in range(1):
|
|
click(plus)
|
|
save = Text("保存")
|
|
wait_until(save.exists)
|
|
click(Text("保存"))
|
|
print(save.web_element.text)
|
|
# # 设置倍数后,再点击一次下一步
|
|
# plus = Text("+")
|
|
# # click(plus)
|
|
# wait_until(Text("下一步").exists)
|
|
# click(Text("下一步"))
|
|
|
|
# # 最后一步, 点击确认
|
|
# wait_until(Text("确认").exists)
|
|
# click(Text("确认"))
|
|
print("完成。。。")
|
|
kill_browser()
|
|
except Exception as e:
|
|
print(traceback.format_exc())
|
|
kill_browser()
|