我正嘗試使用硒登入ESPN網站。這裏是我的代碼到目前爲止來自螢火蟲的Python Selenium Xpath未找到
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.maximize_window()
url = "http://www.espn.com/fantasy/"
driver.get(url)
login_button = driver.find_element_by_xpath("/html/body/div[6]/section/section/div/section[1]/div/div[1]/div[2]/a[2]")
login_button.click()
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div/div/section/section/form/section/div[1]/div/label/span[2]/input")))
except:
driver.quit()
基本上,有2個步驟,首先我必須單擊登錄按鈕,然後我必須填寫表單。目前,我點擊登錄按鈕,表單彈出,但我找不到表單。我一直在使用螢火蟲來獲取xpath,正如其他SO問題所建議的。我不太瞭解硒,所以我不知道在哪裏尋找
形式的iframe中彈出。您需要切換到iframe,然後才能到達其中的元素。 –
你怎麼知道,對於未來的問題,如我應該尋找什麼等 – qwertylpc
@qwertylpc,你應該檢查是否有一個祖先元素的標記爲''或'