selenium自动化之登录淘宝自动下单案例

谷歌浏览器输入:chrome://version/ 查看浏览器版本
进入 https://npm.taobao.org/mirrors/chromedriver 下载对应浏览器版本的chromedriver.exe,存放在python安装目录

from selenium import webdriver
import time

driver = webdriver.Chrome()
# driver = webdriver.Chrome(r'ChromeDriver路径') #还可以指定路径
# driver = webdriver.Firefox()# Firefox浏览器
# driver = webdriver.Ie() # IE浏览器
# driver = webdriver.Edge() # Edge浏览器
# driver = webdriver.Opera() # Opera浏览器
# driver = webdriver.PhantomJS() # PhantomJS浏览器
driver.get('https://www.taobao.com')

# 通过id定位元素:find_element_by_id("id_vaule")
# 通过name定位元素:find_element_by_name("name_vaule")
# 通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")
# 通过class_name定位元素:find_element_by_class_name("class_name")
# 通过css定位元素:find_element_by_css_selector()
# 通过xpath定位元素:find_element_by_xpath("xpath")
# 通过link:find_element_by_link_text("text_vaule")
# 通过find_element_by_partial_link_text()

# 这里切换扫码登陆方式,账号登录被卡在滑动验证码处加反爬机制,无法验证
driver.find_element_by_link_text('亲,请登录').click()
driver.find_element_by_xpath('//*[@id="login"]/div[1]/i').click()

while True:
 try:
    user=driver.find_element_by_xpath('//*[@id="J_SiteNavLogin"]/div[1]/div[2]/a')
    if user:
        print('登录了')
        break
 except:
    print('没有登录')

#等待2秒页面加载完整
time.sleep(2)
#输入搜索关键词 “python”
driver.find_element_by_xpath('//*[@id="q"]').send_keys('python')
#点击搜索按钮
driver.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()
#点击商品
driver.find_element_by_xpath('//*[@id="J_Itemlist_PLink_609798054799"]').click()
#切换到新标签页的window
driver.switch_to.window(driver.window_handles[-1])
driver.find_element_by_xpath('//*[@id="J_LinkBuy"]').click() # 立即购买
#等待2秒页面加载完整
time.sleep(2)
driver.find_element_by_xpath('//*[@id="submitOrderPC_1"]/div/a').click() # 提交订单

#---------------------分割线-------------------

#获取HTML
html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")

# 获取cookies
cookies = driver.get_cookies()

# 添加cookies
for cookie in cookies:
    driver.add_cookie({
        'domain': cookie['domain'],
        'name': cookie['name'],
        'value': cookie['value'],
        'path': cookie['path']})

# 刷新页面
driver.refresh()

# 执行js
js_sql = '''
  document.getElementById('kw').value = '我是autofelix'
'''
driver.execute_script(js_sql)

在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会代码的小林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值