错误:AttributeError:&x27;WebElement';对象没有属性';清除';在Selenium中使用Python
我在尝试在演示站点中运行以下代码时遇到此错误: 我用2.py文件创建了一个POM格式,但我无法找到错误的根本原因 这是主要课程:错误:AttributeError:&x27;WebElement';对象没有属性';清除';在Selenium中使用Python,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我在尝试在演示站点中运行以下代码时遇到此错误: 我用2.py文件创建了一个POM格式,但我无法找到错误的根本原因 这是主要课程: import time import unittest from selenium import webdriver from selenium.webdriver.chrome.service import Service from POMProjectDemo.Pages.LoginPage import LoginPage from POMProjectDemo
import time
import unittest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from POMProjectDemo.Pages.LoginPage import LoginPage
from POMProjectDemo.Pages.HomePage import HomePage
class LoginTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
s = Service("C:/drivers/chromedriver.exe")
cls.driver = webdriver.Chrome(service=s)
cls.driver.implicitly_wait(10)
cls.driver.maximize_window()
def test_login_valid(self):
driver = self.driver
self.driver.get("https://opensource-demo.orangehrmlive.com/index.php/auth/login")
login = LoginPage(driver)
login.enter_username("Admin")
login.enter_password("admin123")
login.click_login()
@classmethod
def tearDownClass(cls):
cls.driver.close()
cls.driver.quit()
print("Test Completed")
这是登录页面:
from selenium.webdriver.common.by import By
class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_textbox_xpath = "//input[@id='txtUsername']"
self.password_textbox_cssSelector = "input[type='password']"
self.login_button_xpath = "//input[@value='LOGIN']"
def enter_username(self, username):
self.driver.find_element(By.XPATH, self.username_textbox_xpath).Clear()
self.driver.find_element(By.XPATH, self.username_textbox_xpath).send_keys(username)
def enter_password(self, password):
self.driver.find_element(By.CSS_SELECTOR, self.password_textbox_cssSelector).Clear()
self.driver.find_element(By.CSS_SELECTOR, self.password_textbox_cssSelector).send_keys(password)
def click_login(self):
self.driver.find_element(By.XPATH, self.login_button_xpath).Click()
对这个错误有什么想法吗?这些方法区分大小写 错误的大小写:.Click()和.Clear()//您使用了它们
更正大小写:。单击()和。清除()不应该是
。清除()
和。单击()
?也就是说,两个字母都是小写的?谢谢,我没有注意到我在两个字母中都使用大写,现在它成功地工作了。
from selenium.webdriver.common.by import By
class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_textbox_xpath = "//input[@id='txtUsername']"
self.password_textbox_cssSelector = "input[type='password']"
self.login_button_xpath = "//input[@value='LOGIN']"
def enter_username(self, username):
self.driver.find_element(By.XPATH, self.username_textbox_xpath).Clear()
self.driver.find_element(By.XPATH, self.username_textbox_xpath).send_keys(username)
def enter_password(self, password):
self.driver.find_element(By.CSS_SELECTOR, self.password_textbox_cssSelector).Clear()
self.driver.find_element(By.CSS_SELECTOR, self.password_textbox_cssSelector).send_keys(password)
def click_login(self):
self.driver.find_element(By.XPATH, self.login_button_xpath).Click()