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()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值