无法在 python 中使用 selenium webdriver 定位元素

无法在 python 中使用 selenium webdriver 定位元素

问题描述:

我想在名为 http://elegalix.allahabadhighcourt.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:

代码#

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()

错误#

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

P.S 我是 Python 编程的新手.我尝试了不同的 xpath 变体,并尝试使用其他 find_element_by 方法,但似乎没有一个在该网站上有效...我在 Firefox 浏览器上也遇到了类似的错误...

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...

因为你要找的元素在一个frame里面,先切换到frame再搜索这个元素

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()