Hi all, i have a little problem. I have a simple automation to fill login form fields. Actually, it passes good, but there's the problem. I need to see actual output in my console after the script filled fields, like "Logged in successfully" or "Username not found". I tried many stuff, but nothing worked this way, my last try was while loop and it works great, but only when I have positive result. I wrote a second condition, but when I type incorrect data, it drives me crazy to see all these errors in my console. So here's the code and part of output, any help or thoughts would be appreciated.
<code> from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException baseurl = "http://www.somesite/login" email = input("Type an email: ") password = input("Type a password: ") xpaths = { 'loginBox' : "//input[@id='session_email']", 'passwordBox' : "//input[@id='session_password']", 'submitButton' : "//input[@class='ufs-but']", 'success' : "//div[@class='flash-message success']", 'error' : "//span[@class='form_error']" } mydriver = webdriver.Firefox() mydriver.get(baseurl) mydriver.find_element_by_xpath(xpaths['loginBox']).send_keys(email) mydriver.find_element_by_xpath(xpaths['passwordBox']).send_keys(password) mydriver.find_element_by_xpath(xpaths['submitButton']).click() while mydriver.find_element_by_xpath(xpaths['success']): print("Success") if mydriver.find_element_by_xpath(xpaths['error']): print("No") </code> And there's what I got when I try to interrupt an error: File "ab.py", line 32, in <module> while mydriver.find_element_by_xpath(xpaths['success']): File "/usr/local/lib/python3.4/site-packages/selenium-2.43.0-py3.4.egg/selenium/webdriver/remote/webdriver.py", line 230, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/usr/local/lib/python3.4/site-packages/selenium-2.43.0-py3.4.egg/selenium/webdriver/remote/webdriver.py", line 662, in find_element {'using': by, 'value': value})['value'] File "/usr/local/lib/python3.4/site-packages/selenium-2.43.0-py3.4.egg/selenium/webdriver/remote/webdriver.py", line 173, in execute self.error_handler.check_response(response) File "/usr/local/lib/python3.4/site-packages/selenium-2.43.0-py3.4.egg/selenium/webdriver/remote/errorhandler.py", line 166, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: 'Unable to locate element: {"method":"xpath","selector":"//div[@class=\'flash-message success\']"}' ; Stacktrace: at FirefoxDriver.prototype.findElementInternal_ (file:///tmp/tmpjax8kj1u/extensions/fxdri...@googlecode.com/components/driver-component.js:9618:26) at FirefoxDriver.prototype.findElement (file:///tmp/tmpjax8kj1u/extensions/fxdri...@googlecode.com/components/driver-component.js:9627:3) at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpjax8kj1u/extensions/fxdri...@googlecode.com/components/command-processor.js:11612:16) at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpjax8kj1u/extensions/fxdri...@googlecode.com/components/command-processor.js:11617:7) at DelayedCommand.prototype.execute/< (file:///tmp/tmpjax8kj1u/extensions/fxdri...@googlecode.com/components/command-processor.js:11559:5) As I said, successfull result ain't a problem. Hope to get any help. -- https://mail.python.org/mailman/listinfo/python-list