Skip to content

关于初始化selenium并登陆淘宝的一些尝试 #15

Closed
@siuszy

Description

@siuszy

学习崔老师本节内容并尝试后发现,现今淘宝对于selenium的反爬机制做的非常到位。目前对于淘宝登录过程中常出现的滑动验证码的研究,最简单的有更改window.navigator.webdriver的值为undefined ,即以开发者模式打开chrome,本人尝试后发现无效。另外,调用ActionChains模块去完成滑动操作经常失败,甚至之后本人人工操作仍经常失败。更多讨论见如下链接: https://www.zhihu.com/question/285659525?sort=created。 这里给出一个比较简易的登录方式,即选择微博登录绕开可能存在滑动验证码的情况,也期待各位大牛能给出解决滑动验证码的思路!

try:
    chrome_options = webdriver.ChromeOptions()
    #chrome_options.add_argument('--headless')
    # 下一行代码是为了以开发者模式打开chrome
    chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])
    browser = webdriver.Chrome(options=chrome_options)
    browser.get("https://s.taobao.com/search?q=iPad")
    button = browser.find_element_by_class_name('login-switch')
    button.click()
    button = browser.find_element_by_class_name('weibo-login')
    button.click()
    user_name = browser.find_element_by_name('username')
    user_name.clear()
    user_name.send_keys('*****') #输入微博名 需要事先绑定淘宝
    time.sleep(1)
    user_keys = browser.find_element_by_name('password')
    user_keys.clear()
    user_keys.send_keys('*****') #输入微博密码
    time.sleep(1)
    button = browser.find_element_by_class_name('W_btn_g')
    button.click()
    time.sleep(1)
    cookies = browser.get_cookies()
    ses=requests.Session() # 维持登录状态
    c = requests.cookies.RequestsCookieJar()
    for item in cookies:
        c.set(item["name"],item["value"])
        ses.cookies.update(c)
        ses=requests.Session()
        time.sleep(1)
    print('登录成功')
except:
    print("登录失败")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions