I don't know the reason for this error, for some reason the find_element_by_() commands are not being recognized, I've already tried to reinstall everything, I changed the Python version, nothing works, does anyone know how to solve this problem?
CodePudding user response:
find_element_by_*
methods are now deprecated.
find_element(By.
are used now.
So, instead of find_element_by_name
it is a driver.find_element(By.NAME, "name_attribute")
now.
Similarly driver.find_element(By.XPATH, "element_xpath_locator")
etc.
To use these methods you will need the following import:
from selenium.webdriver.common.by import By
CodePudding user response:
Make sure you import By from selenium
from selenium.webdriver.common.by import By
then you would format your code like this
dv.find_elements(By.NAME,"<enter name value>")
CodePudding user response:
I don't know if this is the answer for python but in c# this how you do it
browser.FindElement(By.Name("NameofElement"));
Found this example for python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element(By.NAME, "q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
Here https://selenium-python.readthedocs.io/getting-started.html