1.准备使用自动化脚本自动结算所买的东西
2.卡在了登陆界面,无法定位使用账号密码登陆的按钮——“密码登陆”
3.使用 firefox F12 进行调试,并用工具获取了 xpath
,然后 find_element_by_xpath
,报无此对象..
4.网上说可能没有加载完页面,我 sleep
了几秒还是一样的错
#-*-coding:gb2312-*-
import urllib,urllib2,httplib,cookielib
import ssl
import os
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys
stdi, stdo, stde = sys.stdin, sys.stdout, sys.stderr
reload(sys)
sys.stdin, sys.stdout, sys.stderr = stdi, stdo, stde
sys.setdefaultencoding('gb2312')
#sys.path.append(r'C:\Python27\Lib\site-packages')
#import win32api
#def auto_login_hi(url,name,pwd):
def test():
for seq in range(10):
ssl._create_default_https_context = ssl._create_unverified_context
#browser = webdriver.Firefox()
username = "user1"
passwd = "passwd1"
browser = webdriver.Firefox()
browser.get('https://login.tmall.com/')
browser.implicitly_wait(10)
'''
if not browser.switch_to_alert() == '':
alert = browser.switch_to_alert()
print alert.text
alert.accept()
'''
#text = '密码登陆'
#text_after = text.decode('utf-8')
#elem=browser.find_element_by_class_name('poptip-content')
time.sleep(5)
elem = browser.find_element_by_xpath("/html/body/div[1]/div/div/div[2]/div[4]/div/div[5]/a[1]")
print elem
elem.click() #进入登陆页面
elem_login = browser.find_element_by_id("TPL-username_1")
elem_login.send_keys(username)
elem_login = browser.find_element_by_id("TPL-password_1")
elem.send_keys(passwd)
elem=browser.find_element_by_class_name("J_Submit")
elem.click()#提交后登陆
elem_buy = browser.find_element_by_id("mc-menu-hd")
elem_buy.click()
elem_in_car = browser.find_element_by_id("J_SelectAllCbx1")
elem_in_car.click()
time.sleep(10)
browser.quit()
test()
曾经我使用过selenium+phantomjs+pymouse做过淘宝登录,但是仅仅是一分钟之后,我就被要求输入手机验证码了。如果有答案一定要告知一下。