4 回答

TA貢獻1966條經驗 獲得超4個贊
你可以嘗試find_elements_by_xpath:
from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\name\Downloads\q\chromedriver.exe")
driver.get("https://www.plusportals.com/GuardianAngels")
login_button = driver.find_elements_by_xpath("//*[@class='btn btn-primary pull-right']")
login_button[0].submit()
輸出:

TA貢獻1828條經驗 獲得超4個贊
要等待元素并在頁面加載后單擊,請執行以下操作。
還添加了登錄。
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "UserName"))).send_keys("AAA")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "Password"))).send_keys("AAA")
login_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.btn.btn-primary.pull-right")))
login_button.click()
進口
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

TA貢獻1856條經驗 獲得超17個贊
將第 5 行替換為以下內容應該可以解決問題:
login_button = driver.find_elements_by_class_name("btn.btn-primary.pull-right")

TA貢獻1830條經驗 獲得超9個贊
在第 4 行中,您正在使用:
login_button = driver.find_elements_by_class_name("btn btn-primary pull-right")
有多種方法可以做到這一點:
方法一:
您可以替換driver.find_elements_by_class_name
為driver.find_element_by_class_name
login_button = driver.find_element_by_class_name("btn btn-primary pull-right")
方法二:
您必須在那里放置一個 [0],因為單擊函數不接受列表,并且要繞過它,您必須從列表中獲取第一項并單擊它。
login_button[0].click() or login_button[0].submit()
添加回答
舉報