收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2. 输入用户名和密码
在登陆之前,我们需要获取登录的用户名和登录密码。然后通过通过浏览器“检查”的方式,定位到输入用户名和密码的文本框,以及登录的按钮。
# 需要登录,输入用户名和密码
input_button = self.bro.find_element_by_name('fm-login-id')
input_button.send_keys(self.account)
passwd_button = self.bro.find_element_by_name('fm-login-password')
passwd_button.send_keys(self.password)
login_button = self.bro.find_element_by_css_selector('.fm-button')
login_button.click()
3. 访问购物车
在登陆以后,我们的目的是清空购物车,因此我们需要访问购物车。默认我们清空购物车,所以购物车里面多余的商品请先暂时清理掉。如果购物车是空的,则无法清空,因此需要设置异常处理机制。
bro.get('https://cart.taobao.com/cart.htm?t=1624499530235')
try:
choose_all = self.bro.find_element_by_css_selector('.select-all')
choose_all.click()
except:
print("购物车是空的,请添加商品到购物车后重试!")
bro.quit()
4. 提交订单并确认支付
进入提交环节,我们首先点击提价订单按钮,接着确认支付,输入支付密码,最后再次提交即可。最后使用的电脑是常用机器,否则可能会出现多余的安全验证环节。
# 提交订单
submit_btn = self.bro.find_element_by_id('J\_Go')
submit_btn.click()
# 确认支付
go_btn = self.bro.find_element_by_css_selector('.go-btn')
go_btn.click()
# 输入支付密码
input_passwd_btn = bro.find_element_by_css_selector('.sixDigitPassword')
input_passwd_btn.send_keys(self.payment_password)
confirm_btn = self.bro.find_element_by_css_selector('.ui-button')
confirm_btn.click()
bro.quit()
完整代码
from selenium import webdriver
from time import sleep
from selenium.webdriver import ChromeOptions # 实现规避检测
import datetime as dt
class ShopTaobao(object):
def \_\_init\_\_(self, account, password, payment_password):
# 实现selenium规避被检测的风险
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
self.bro = webdriver.Chrome('./chromedriver.exe', options=options)
self.bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
self.account = account
self.password = password
self.payment_password = payment_password
self.bro.maximize_window()
def login(self):
self.bro.get('https://login.taobao.com')
# 需要登录,输入用户名和密码
input_button = self.bro.find_element_by_name('fm-login-id')
input_button.send_keys(self.account)
passwd_button = self.bro.find_element_by_name('fm-login-password')
passwd_button.send_keys(self.password)
login_button = self.bro.find_element_by_css_selector('.fm-button')
login_button.click()
sleep(1)
# 进入购物车,全选所有的商品
self.bro.get('https://cart.taobao.com/)
try:
choose_all = self.bro.find_element_by_css_selector('.select-all')
choose_all.click()
sleep(2)
except:
print("购物车是空的,请添加商品到购物车后重试!")
self.bro.quit()
def submit(self):
# 提交订单
submit_btn = self.bro.find_element_by_id('J\_Go')
submit_btn.click()
sleep(3)
# 确认支付
go_btn = self.bro.find_element_by_css_selector('.go-btn')
go_btn.click()
sleep(3)
# 输入支付密码
input_passwd_btn = self.bro.find_element_by_css_selector('.sixDigitPassword')
input_passwd_btn.send_keys(self.payment_password)
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/d15b2c53482001a8d0f242e07edff81e.png)
![img](https://img-blog.csdnimg.cn/img_convert/b45ef1403261b5fa497f9e17d866af1d.png)
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
s://bbs.csdn.net/topics/618679757)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**