由于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
})
“”"
})