lostinwild
lostinwild

Reputation: 43

Unable to locate element using selenium webdriver in python

I want to do some automation testing on a website called http://elegalix.allahabadhighcourt.in. I am using the following python code to click a button called "Advanced" on the above website:

Code#

from selenium import webdriver
driver = webdriver.Chrome('./chromedriver')
driver.get('http://elegalix.allahabadhighcourt.in')
driver.set_page_load_timeout(20)
driver.maximize_window()
driver.find_element_by_xpath("//input[@value='Advanced']").click()

Error#

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //input[@value='Advanced']

P.S I am a newbie to python programming. I have tried different variations of xpath and have tried to use other find_element_by methods but none seems to work on this website...I m experiencing similar error on Firefox browser as well...

Upvotes: 4

Views: 12000

Answers (3)

MrAlbino
MrAlbino

Reputation: 427

I faced with this issue and the problem about the window size. Because when window size is small, objects place has changed so i use driver.maximize_window() and then i use driver.find() method it works properly.

Upvotes: 1

aditya gupta
aditya gupta

Reputation: 11

After the command to open the link add this:

driver.maximize_window()

Upvotes: 0

Satish Michael
Satish Michael

Reputation: 2015

It's because the element you are looking for is inside a frame, switch to the frame first and then search for the element

from selenium import webdriver
driver = webdriver.Chrome('./chromedriver')
driver.get('http://elegalix.allahabadhighcourt.in')
driver.set_page_load_timeout(20)
driver.maximize_window()
driver.switch_to.frame(driver.find_element_by_name('sidebarmenu'))
driver.find_element_by_xpath("//input[@value='Advanced']").click()
driver.switch_to.default_content()

Upvotes: 7

Related Questions