首页 > 其他分享 >TB自动登录

TB自动登录

时间:2024-09-27 11:11:44浏览次数:7  
标签:登录 self wait 自动 import password TB options browser

import time
import selenium
import random
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.service import Service


class taobao():
def __init__(self):
self.options = webdriver.ChromeOptions()
self.options.add_argument('disable-infobars')
self.options.add_experimental_option("excludeSwitches", ['enable-automation'])
self.options.add_argument('--disable-blink-features')
self.options.add_argument('--disable-blink-features=AutomationControlled')
self.options.add_argument('--disable-gpu')
#chromedriver路径
service = Service('C:/Users/Administrator.DESKTOP-B76MIPB/AppData/Local/Google/Chrome/Application/chromedriver.exe')
self.browser = webdriver.Chrome(service=service, options=self.options)
self.browser.maximize_window()
self.browser.implicitly_wait(5)
self.domain = 'http://www.taobao.com'
self.action_chains = ActionChains(self.browser)

def login(self, username, password):
self.browser.get(self.domain)
driver_wait = WebDriverWait(self.browser, 10)
# 点击'亲, 请登录', 进入登录界面
button = driver_wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'h')))
button.click()
# 输入用户名密码
username_sender = driver_wait.until(EC.presence_of_element_located((By.ID, 'fm-login-id')))
username_sender.send_keys(username)
password_sender = driver_wait.until(EC.presence_of_element_located((By.ID, 'fm-login-password')))
password_sender.send_keys(password)
time.sleep(5)

# 检查是否出现了滑动验证码,移动滑块

# 点击登录按钮
button = driver_wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'password-login')))
button.click()
time.sleep(2)
print('登录成功,呢称为:' + self.get_nickname())

def get_nickname(self):
self.browser.get(self.domain)
time.sleep(0.5)
try:
return self.browser.find_element(By.CLASS_NAME, 'site-nav-user').text
except:
return ''

if __name__ == '__main__':
tb = taobao()
tb.login('username', 'password') #用户名、密码

标签:登录,self,wait,自动,import,password,TB,options,browser
From: https://www.cnblogs.com/Vena/p/18435295

相关文章

  • Java如何解决同时出库入库订单号自动获取问题
    在Java中处理同时出库和入库的订单号自动获取问题,通常涉及到多线程环境下的并发控制。为了确保订单号的唯一性和连续性,我们可以使用多种策略,如数据库的自增ID、分布式锁、或者利用Java的并发工具类如AtomicLong等。这里,我将提供一个基于AtomicLong的简单示例,适用于单机环境。1.场......
  • 激活数据中台:数据飞轮在自动化营销和渠道获客中的应用
    在经历了初步的大数据技术洗礼后,许多企业逐渐认识到,单纯的数据积累并不能直接转化为业务增长的动力。这就引出了一个新的概念——数据飞轮,这一概念不但重新定义了数据的价值提取方式,也给数据中台的战略部署带来了新的生机。尤其是在自动化营销和渠道获客等关键业务场景中,数据飞轮的......
  • OpenCV视频I/O(3)视频采集类VideoCapture之获取当前使用的视频捕获 API 后端的名称函数
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述getBackendName函数是OpenCV中VideoCapture类的一个方法,用于获取当前使用的视频捕获API后端的名称。这可以帮助开发者了解当前VideoCapture实例正在使用哪个后端来处理视......
  • ifream跟webview 嵌套orchard core的登录
    orchardcore默认的安全策略很高。所以要设置后台要开启ocrs跟安全program.cs要配置cookie可以跨域。`builder.Services.ConfigureApplicationCookie(options=>{options.Cookie.SameSite=SameSiteMode.None;options.Cookie.SecurePolicy=......
  • 类与对象练习_自动回合制对战
    HeropublicclassHero{privatefinalStringheroName;//英雄名称privateinthp;//血条、生命值privatefinalintmaxDamage;//表示角色能够造成的最大伤害值publicHero(StringheroName,inthp,intmaxDamage){this.heroName=her......
  • pbootcms提示:登录失败:表单提交校验失败,请刷新后重试!
    当使用PBootCMS后台登录时遇到“登录失败:表单提交校验失败,请刷新后重试!”的错误提示时,这通常是由于一些配置或环境问题导致的。以下是一些常见的解决方法:常见解决方法删除 runtime 目录切换PHP版本清除浏览器缓存检查CSRF令牌解决方法详细步骤方法一:删除 runtime......
  • Mybatis Plus多源数据库和自动更新updateTime问题
    多源数据库配置1、依赖配置implementation'com.baomidou:mybatis-plus-boot-starter:3.5.2'implementation'com.baomidou:dynamic-datasource-spring-boot-starter:3.5.2'2、配置文件spring:datasource:dynamic:primary:master#设置默认的数据......
  • 阿里云虚拟主机的PbootCMS网站为什么不显示后台登录验证码(pbootcms后台登陆不显示验证
    在使用PBootCMS时,如果遇到后台登录验证码不显示的问题,通常与服务器配置或PHP设置有关。以下是具体原因分析和解决方法:原因分析输出缓冲区未开启PHP的输出缓冲区(OutputBuffering)未开启,导致某些动态内容(如验证码图片)无法正常输出。权限问题文件或目录权限设置不当,导致......
  • Robot Framework 自动化测试部署常见问题及处理方法(三)
    书接上文8.关于IE浏览器IE浏览器必须是原生版,即Windows系统原版,非手动升级后的版本9.用例执行过程中,遇到元素定位不到的情况原因:⑴xpath动态变化⑵有frame/iframe⑶没有设置等待,元素未加载完成解决方法:⑴若xpath动态变化:重写xpath⑵若有frame/iframe:参照第二节第10点【......
  • 易优CMS登录后台报Allowed memory size of 134217728 bytes ex hausted (tried to alo
    当你在登录后台时遇到“Allowedmemorysizeof134217728bytesexhausted(triedtoallocate20480bytes)”的错误提示时,通常是由于PHP的内存限制不足导致的。以下是一些具体的解决步骤:步骤1:检查PHP配置登录宝塔面板登录宝塔面板。在左侧菜单栏选择“软件商店”。......