from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
driver.get("https://opensource-demo.orangehrmlive.com/")
driver.find_element_by_id('username').send_keys("Admin")
driver.find_element_by_id('password').send_keys("admin123")
driver.find_element_by_link_text('login').click()
time.sleep(2)
driver.close()
driver.quit()
print("Test Completed")
** 错误(问题):**
Traceback (most recent call last):
username_field = driver.find_element_by_id('username')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebDriver.find_element_by_id() takes 1 positional argument but 2 were given
我尝试在自定义 Webdriver 中添加方法 (find_element_by_id),因为我无法在 test.py 文件中找到它,所以我自己创建了它。但最终,我遇到了上面提到的错误(问题)。
我是否必须添加库才能通过 id 查找元素,或者我的网络驱动程序是否需要更新? 我是新人,正在学习这个。如果有人帮助我,我将不胜感激。
.find_element_by_id()
语法不久前已被弃用。当前语法是
from selenium.webdriver.common.by import By
driver.find_element(By.ID, "username")
您应该熟悉文档,以及更多查找元素和其他 Selenium 功能的方法。