Home > Mobile >  Python Selenium, Error with find_element_by() command
Python Selenium, Error with find_element_by() command

Time:09-02

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?

Error: Unresolved attribute reference 'find_element_by_name' for class 'WebDriver

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

  • Related