2-模拟登录淘宝

from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


option = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])  # 这里去掉window.navigator.webdriver的特性
option.add_argument("--disable-blink-features=AutomationControlled")   # 屏蔽webdriver特征
browser = webdriver.Chrome(options=option)
browser.get('https://www.taobao.com/')
browser.maximize_window()
button = WebDriverWait(browser, timeout=30).until(EC.presence_of_element_located((By.CLASS_NAME, 'h')))
button.click()
# username_sender = WebDriverWait(browser, timeout=30).until(EC.presence_of_element_located((By.ID, 'fm-login-id')))
username_sender = browser.find_element_by_xpath('//input[@id="fm-login-id"]')
username_sender.send_keys("user_name")
# password_sender = WebDriverWait(browser, timeout=30).until(EC.presence_of_element_located((By.ID, 'fm-login-password')))
password_sender = browser.find_element_by_id('fm-login-password')
password_sender.send_keys("password")
sleep(3)
try:
    browser.switch_to.frame(0)
    # 找到滑块
    slider = browser.find_element_by_xpath("//span[contains(@class, 'btn_slide')]")
    # 判断滑块是否可见
    if slider.is_displayed():
        # 点击并且不松开鼠标
        ActionChains(browser).click_and_hold(on_element=slider).perform()
        # 往右边移动258个位置
        ActionChains(browser).move_by_offset(xoffset=258, yoffset=0).perform()
        # 松开鼠标
        ActionChains(browser).pause(0.5).release().perform()
        browser.switch_to.default_content()
except:
    pass
button = WebDriverWait(browser, timeout=30).until(EC.presence_of_element_located((By.CLASS_NAME, 'password-login')))
button.click()

作者:lotuslaw

出处:https://www.cnblogs.com/lotuslaw/p/15200371.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   lotuslaw  阅读(100)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2020-08-28 N皇后问题
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示