Python selenium模拟淘宝登陆

11 篇文章 0 订阅
2 篇文章 0 订阅
通过selenium定位到各个元素,通过相关操作(如输入框的输入,按钮的点击等)来模拟人的真实操作流程

流程是通过绕个圈子,用微博账号登陆来绕过淘宝登陆,不过事先需要将微博账号与淘宝账号进行绑定

下面直接上代码
#encoding=utf-8
#上面这句话看起来是注释,但其实是有用的,指明了这个脚本的字符集编码格式
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import time


#
url = 'https://login.taobao.com/member/login.jhtml'
options = webdriver.ChromeOptions()

# 不加载图片,加快访问速度
options.add_experimental_option("prefs",{"profile.mamaged_default_content_settings.images":2})

# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
options.add_experimental_option('excludeSwitches',['enable-automation'])

browser = webdriver.Chrome(executable_path='F:\\Software\\anaconda\\chromedriver',options=options)
wait = WebDriverWait(browser,10)

def get_url():
    browser.get(url)
    # 打开网页
    browser.get(url)

    # 等待 密码登录选项 出现
    password_login = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, '.qrcode-login > .login-links > .forget-pwd')))
    password_login.click()

    # 等待 微博登录选项 出现
    weibo_login = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.weibo-login')))
    weibo_login.click()

    #获取账号输入框
    EMAIL = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#pl_login_logged > div > div:nth-child(2) > div >input' )))
    EMAIL.send_keys('这里是微博账号')

    #获取密码输入框
    PASSWD = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#pl_login_logged > div > div:nth-child(3) > div > input')))
    PASSWD.send_keys('这里是微博密码')

    time.sleep(2)

    #获取登陆按钮
    button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#pl_login_logged > div > div:nth-child(7) > div:nth-child(1) > a > span')))
    button.click()

    taobao_name = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.site-nav-bd > ul.site-nav-bd-l > li#J_SiteNavLogin > div.site-nav-menu-hd > div.site-nav-user > a.site-nav-login-info-nick ')))
    # 输出淘宝昵称
    print(taobao_name.text)

get_url()
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要使用Python Selenium实现1秒支付,可以按照以下步骤进行: 1. 首先,安装PythonSelenium库。确保您的环境已经配置好,并且您具备使用PythonSelenium的基本知识。 2. 导入Selenium库并初始化浏览器驱动。使用Selenium库的webdriver模块来创建适用于您所使用的浏览器的驱动程序。例如,如果您使用的是Chrome浏览器,您可以选择ChromeDriver。 3. 打开网站并登录。使用webdriver驱动程序打开网站,并使用您的账号和密码登录。 4. 进入商品页面并选择商品。使用webdriver找到您想要购买的商品页面,并选择您想要购买的商品。 5. 添加商品到购物车和结算。使用webdriver点击“加入购物车”按钮,并在购物车页面点击“结算”按钮。 6. 确认支付信息和快速支付。在支付页面,使用webdriver快速填写支付信息,例如支付密码等,并点击“立即支付”按钮。 以上就是使用Python Selenium实现1秒支付的基本步骤。请注意,实际支付过程可能会受到网络连接、网站响应速度等因素的影响,因此不能保证一定能够在1秒内完成支付。同时,在自动化支付过程中需要遵守网站的使用规则,务必谨慎操作。 ### 回答2: 是中国最大的电商平台之一,Python Selenium是常用的自动化测试工具。要实现1秒支付,首先需要使用Python Selenium自动化脚本模拟用户的操作。 首先,通过Python Selenium启动浏览器,访问网站,并登录用户账号。然后,通过脚本定位到要购买的商品页面,随后点击“立即购买”按钮。接下来,根据支付界面的元素定位,输入支付密码、选择支付方式等相关信息,最后点击“确认支付”按钮即可完成1秒支付。 为了提高支付速度和脚本的稳定性,可以通过以下几个方面进行优化: 1. 使用Chrome浏览器,并启用Headless模式,可以减少界面渲染时间和系统资源消耗。 2. 使用等待(wait)机制,根据页面元素的状态等待一定时间后再进行下一步操作,以确保页面加载完成。 3. 避免频繁的刷新和重定向,可以通过设置浏览器参数和请求头等方式优化流程。 4. 使用高性能的服务器和网络环境,以提高脚本的响应速度和支付成功率。 值得注意的是,有防刷机制进行风险控制,频繁的操作或者过快的支付速度可能会触发防刷措施,导致无法顺利完成支付。因此,在实施1秒支付之前,应对的规定和限制有一定的了解,并合理控制脚本的执行速度和频率,以避免不必要的麻烦。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值