我无法点击按钮

时间:2020-10-22 23:05:22

标签: python selenium

我无法单击此网页上的按钮。

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_class_name("btn btn-primary pull-right")
login_button.submit()

4 个答案:

答案 0 :(得分:0)

用以下代码替换第5行应该可以解决问题:

login_button = driver.find_elements_by_class_name("btn.btn-primary.pull-right")

答案 1 :(得分:0)

您可以尝试使用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()

输出

enter image description here

答案 2 :(得分:0)

要等待元素并在页面加载后单击,请执行以下操作。
也添加了登录名。

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

答案 3 :(得分:-1)

在第4行中,您正在使用:

login_button = driver.find_elements_by_class_name("btn btn-primary pull-right")

有多种方法可以做到这一点:

方法1:

您可以将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")

方法2:

您必须将[0]放在此处,因为click函数不会获取列表,并且绕过该操作,您必须从列表中获取第一项并单击它。

login_button[0].click() or login_button[0].submit()