selenium 某团外卖 登录

目标网站:
https://h5.waimai.meituan.com/waimai/mindex/home
在这里插入图片描述
点击右下角 我的 进行登录
在这里插入图片描述
输入手机号后,点击发送验证码 会出现滑块
在这里插入图片描述
首先前几步,只要注意把selenium 设置成手机模式,然后在点击发送验证码的时候不要用click使用TouchActions模拟触碰操作就可以
在这里插入图片描述
然后就是滑块的问题,这个现在由于极验的市场推广,网上解决方案有很多。
直接去下一个鼠标轨迹生成软件
在这里插入图片描述
设置一下参数,就可以得到鼠标轨迹
在这里插入图片描述

然后,就是如何收短信的问题。网上的短信接码平台有很多,比如这家http://www.52kma.com/member/smsservice.html

参考代码:

# coding:utf-8
import random
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.touch_actions import TouchActions
from selenium.webdriver.chrome.options import Options

url = "https://h5.waimai.meituan.com/waimai/mindex/home"

# 设置成手机模式
mobile_emulation = {"deviceName":"iPhone 6"}
options = Options()
options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options=options)

driver.get(url)

time.sleep(2)
# 点击 我的
my = driver.find_element_by_xpath('//*[@id="wm-container"]/div/div/div[6]/div/a[3]').click()

time.sleep(3)

# 输入手机号
mobi = '' 	# 在这里自己获取手机号
driver.find_element_by_id("phoneNumInput").send_keys(mobi)

# 点击 发送短信
el = driver.find_element_by_id('sendCodeBtnText')
TouchActions(driver).tap(el).perform()

# 滑动滑块
time.sleep(2)
slider = driver.find_element_by_id('yodaBox')


trace = [‘这里轨迹自己生成下’] 

# 滑动模块
ActionChains(driver).click_and_hold(slider).perform()
y = 0
for x in trace:
    e = random.uniform(0, 0.01)
    if x == (396-105) or x == (329 - 105) or x == (239 - 105):
        a = 0.25 + e
        y = 1
    else:
        a = 0.015 + e
        y = 0
    ActionChains(driver).move_by_offset(xoffset=x, yoffset=y).perform()
    time.sleep(a)
ActionChains(driver).release().perform()


某团外卖 登录滑块的非selenium解决方案也有人做过 参考这个:https://blog.csdn.net/weixin_43926264/article/details/89145670

发布了66 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43751840/article/details/93844816