硒与Python脚本

问题描述:

我是新来的与python硒。尝试了这个示例测试脚本。硒与Python脚本

from selenium import webdriver 

def browser(): 

     driver= webdriver.Firefox() 
     driver.delete_all_cookies() 
     driver.get('http://www.gmail.com/') 
     driver.maximize_window() 
     driver.save_screenshot('D:\Python Programs\Screen shots\TC_01.png') 
     driver.find_element_by_xpath("//*[@id='next']").click() 
     message=driver.find_element_by_xpath("//*[@id='errormsg_0_Email']") 
     driver.save_screenshot('D:\Python Programs\Screen shots\TC_03.png') 
     name= driver.find_element_by_xpath("//*[@id='Email']").send_keys('gmail') 
     driver.save_screenshot('D:\Python Programs\Screen shots\TC_02.png') 
     print name 
     driver.find_element_by_xpath("//*[@id='next']").click() 
     password=driver.find_element_by_xpath("//*[@id='Passwd']").send_keys('password') 
     driver.save_screenshot('D:\Python Programs\Screen shots\TC_03.png') 
     print password 
     driver.find_element_by_xpath("//*[@id='signIn']").click() 
     driver.implicitly_wait(10) 
     driver.quit() 
i=browser() 

直到下面的步骤后脚本运行我正在错误的

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//*[@id='Passwd']"} 
Stacktrace:. 
+0

您好我已经使用虚拟mailid和密码作为example.So请不要证明与that.Because的答案,你会得到错误与邮件ID和密码 – Subbu

+0

放在该行断点并运行该脚本。转到(现在打开的)浏览器,在页面内右键单击并选择“查看源代码”(或类似的东西)。搜索“Passwd”,如果你找到它,那么将整行复制粘贴到你的问题中。如果你没有找到它,那么你的脚本不工作的原因很明显。 –

+0

你的函数没有返回值,所以我的值永远是None。如果您想要返回浏览器,请在函数末尾添加返回驱动程序行,并且在函数结束之前不要退出浏览器。 – hilcharge

你应该点击密码按钮之前,因为它出现的延迟之后添加等待

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//*[@id='Passwd']")) 
) 

更好的是,您应该在脚本开始时为您的驱动程序配置implicit wait,而不是在末尾。

driver = webdriver.Firefox() 
driver.implicitly_wait(10)