本文将介绍使用python3+ selenium自动登录淘宝,并获取订单信息。
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.action_chains import ActionChains
import unittest, time, re
class Login(unittest.TestCase):
def setUp(self):
# binary = FirefoxBinary(r'C:\Program Files\Mozilla Firefox\firefox.exe')
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.driver.maximize_window()
self.base_url = "https://www.taobao.com/"
self.verificationErrors = []
self.accept_next_alert = True
def test_login(self):
driver = self.driver
# 打开登录页面
driver.get("https://login.taobao.com/member/login.jhtml?&redirectURL=http%3A%2F%2Fwww.taobao.com%2F")
self.driver.implicitly_wait(5)
# 点击账号密码登录
driver.find_element_by_id('J_Quick2Static').click()
self.driver.implicitly_wait(2)
# 输入账号密码
driver.find_element_by_id("TPL_username_1").clear()
driver.find_element_by_id("TPL_username_1").send_keys("username")
driver.find_element_by_id("TPL_password_1").clear()
driver.find_element_by_id("TPL_password_1").send_keys("passwd")
driver.implicitly_wait(5)
# 判断是否显示滑块,如果显示则拖动滑块
# 提交表单
driver.find_element_by_id("J_SubmitStatic").click()
while True:
if driver.find_element_by_link_text("卖家中心").is_displayed():
break
# 查看已卖出的宝贝
driver.execute_script('window.location="https://trade.taobao.com/trade/detail/trade_order_detail.htm?biz_order_id=xxxxxx"')
driver.implicitly_wait(5)
driver.find_element_by_link_text("收货和物流信息").click()
print(driver.page_source)
def tearDown(self):
# self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()