python - 错误:AttributeError:“WebElement”对象在使用 Python 的 Selenium 中没有属性“Clear”
问题描述
尝试在演示站点中运行以下代码时出现此错误:
self.driver.find_element(By.XPATH, "//input[@id='txtUsername']").Clear() "AttributeError: 'WebElement' object has no attribute 'Clear'"
我用 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.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() // 您已使用它们来代替使用
正确案例: .click( )和.clear()
推荐阅读
- java - Corda 账户 - 账户和主机节点之间的交易
- android - Xamarin.Forms Android $(TargetFrameworkVersion) 错误
- apache-spark - Spark Structured Streaming - 无法在日志中打印数据
- c# - 在内存中的表之间复制列
- c++ - 有效地遍历向量中的值
- django - ModuleNotFoundError:没有名为“To_do.todos”的模块 - DJANGO
- python - 如何从 Unsplash API 返回的 URL 中获取图像?
- java - 如何使用线程(并行)编辑 Java FXML 窗格
- xml - Guid xml 序列化和验证
- java - 当多个侦听器收到相同的事件时,只处理一次事件