尝试使用selenium python登录adidas.com

时间:2017-06-20 00:28:51

标签: python selenium

所以我尝试登录https://www.adidas.com/us/myaccount-create-or-login我尝试过xpath,Name和ID。所以我问了一些朋友,一个人能够使用ID登录,但我仍然无法登录。

这是我的代码:

from selenium import webdriver
import time 
import colorama
from colorama import Fore, Back, Style
import datetime

def getCurrentTime():
    return time.strftime("[%H:%M:%S]")



def ACO(getCurrentTime):
    print("{} Configuration Loaded".format(getCurrentTime()))
    driver = webdriver.Chrome()
    driver.get("https://www.adidas.com/us/myaccount-create-or-login")
    time.sleep(5)
    driver.find_element_by_id("username").send_keys("test123")
    driver.find_element_by_id("password").send_keys("test123")
    driver.find_element_by_xpath("""//*[@id="signinSubmit"]""").click()


    time.sleep(500)
ACO(getCurrentTime)

1 个答案:

答案 0 :(得分:1)

登录表单位于iframe 中的。要在此表单上找到元素,您必须切换到iframe的上下文:

driver.switch_to.frame("loginaccountframe")

driver.find_element_by_id("username").send_keys("test123")
driver.find_element_by_id("password").send_keys("test123")
driver.find_element_by_id("signinSubmit").click()

作为旁注,尽量避免使用硬编码的time.sleep()超时 - 它们非常不可靠 - 而是通过WebDriverWait明确Explicit Waits