2017-06-20 139 views
2

我想在一个名为http://elegalix.allahabadhighcourt.in的网站上执行一些自动化测试。我现在用的是下面的Python代码点击一个名为“高级”上述网站上的按钮:无法使用python中的selenium webdriver查找元素

编号#

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'] 

PS我对Python编程新手。我已经尝试了xpath的不同变体,并试图使用其他find_element_by方法,但似乎没有在这个网站上工作...我也遇到类似的错误在Firefox浏览器以及...

回答

2

这是因为你正在寻找的元素因为是在一个框架内,先切换到框架,然后搜索元素

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

非常感谢。你可以建议一些很好的资源来学习使用硒的网络自动化python ...我有与c/c + +体面的经验,但没有HTML/CSS知识 – lostinwild

+0

https://youtu.be/l15ZJAbxCL8,这是一个很棒的演示和洞察力以及如何使用硒和python进行网页自动化。这更适合测试,但应该可以帮助你开始 – Satish

相关问题