淘宝模拟登录2解决滑动验证问题

13 篇文章 1 订阅
4 篇文章 0 订阅

由于selenium被淘宝识别,然后跳出滑动验证问题。这里需要添加参数,让淘宝无法检测出selenium。开始以为是代理IP问题后来实验发现不是代理IP问题。对于xpath和其他人不一样着哩可能是浏览器的问题,开始用的火狐,后面还是感觉Google香。

代码

import random
import time
# 修改代码如下
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)

driver = Chrome(options=options)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get('https://login.taobao.com/member/login.jhtml')

driver.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys('账号')
time.sleep(5)
driver.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys('密码')
time.sleep(random.randint(1,4))
driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()

driver.execute_cdp_cmd(“Page.addScriptToEvaluateOnNewDocument”, {
“source”: “”"
Object.defineProperty(navigator, ‘webdriver’, {
get: () => undefined
})
“”"
})

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
模拟登录窗口滑动验证一般都是通过模拟用户在浏览器中操作来完成的。以下是使用 Python + Selenium 实现模拟登录窗口滑动验证的步骤: 1. 安装 Selenium 库和浏览器驱动,比如 ChromeDriver。 2. 打开浏览器,并访问登录页面。 3. 输入用户名和密码,并点击登录按钮。 4. 等待页面加载完成,找到滑块元素和滑块背景元素。 5. 计算出滑块需要滑动的距离。 6. 使用 ActionChains 模拟鼠标拖拽滑块的操作。 7. 检查是否登录成功。 以下是一个示例代码,使用 Python + Selenium 实现模拟登录窗口滑动验证: ```python from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains # 启动 Chrome 浏览器,并访问登录页面 driver = webdriver.Chrome() driver.get('https://www.example.com/login') # 输入用户名和密码,并点击登录按钮 username = driver.find_element_by_name('username') password = driver.find_element_by_name('password') username.send_keys('your_username') password.send_keys('your_password') submit = driver.find_element_by_xpath('//button[contains(@class, "submit")]') submit.click() # 等待页面加载完成,找到滑块元素和滑块背景元素 slider = driver.find_element_by_xpath('//div[contains(@class, "slider")]') slider_bg = driver.find_element_by_xpath('//div[contains(@class, "slider-bg")]') # 计算出滑块需要滑动的距离 slider_width = slider.size['width'] slider_bg_width = slider_bg.size['width'] distance = slider_bg_width - slider_width # 使用 ActionChains 模拟鼠标拖拽滑块的操作 actions = ActionChains(driver) actions.click_and_hold(slider) actions.move_by_offset(distance, 0) actions.release() actions.perform() # 检查是否登录成功 if 'Welcome' in driver.page_source: print('Login success!') else: print('Login failed!') ``` 注意:以上代码只是一个示例,实际应用中需要根据具体的页面结构和滑动验证的实现方式进行调整。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值