FindElement 不是 webdriver 的属性
FindElement is not an attribute of webdriver
我每次使用 FindElement(By.xpath("//...
语法而不是 find_element_by_xpath(...
等时都会收到此错误,告诉我 FindElement is not an attribute of webdriver
。我必须写下什么形式的声明才能使它成为一个属性。我只使用:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('https://demoqa.com/text-box')
EnterFullName = driver.FindElement(By.xpath('//input[contains(@id,"userName")'])
EnterFullName.send_keys("Daniel Soth")
如果我写下这行代码,显然可以工作:
EnterFullName = driver.find_element_by_xpath('//*[@id="userName"]')
EnterFullName.send_keys("Daniel Soth")
但是我对这个根本不起作用的 FindElement 属性很感兴趣,我希望有人解释为什么以及我需要声明什么才能让它起作用。
FindElement
在 python 包中被命名为 driver.find_element
(根据 python 的 naming convention)。
这就是您在 python 中的使用方式:
enter_full_name = driver.find_element(By.XPATH, "//input[contains(@id,'userName')]")
我每次使用 FindElement(By.xpath("//...
语法而不是 find_element_by_xpath(...
等时都会收到此错误,告诉我 FindElement is not an attribute of webdriver
。我必须写下什么形式的声明才能使它成为一个属性。我只使用:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('https://demoqa.com/text-box')
EnterFullName = driver.FindElement(By.xpath('//input[contains(@id,"userName")'])
EnterFullName.send_keys("Daniel Soth")
如果我写下这行代码,显然可以工作:
EnterFullName = driver.find_element_by_xpath('//*[@id="userName"]')
EnterFullName.send_keys("Daniel Soth")
但是我对这个根本不起作用的 FindElement 属性很感兴趣,我希望有人解释为什么以及我需要声明什么才能让它起作用。
FindElement
在 python 包中被命名为 driver.find_element
(根据 python 的 naming convention)。
这就是您在 python 中的使用方式:
enter_full_name = driver.find_element(By.XPATH, "//input[contains(@id,'userName')]")