On Feb 17, 10:25 pm, SMERSH009 <smersh0...@gmail.com> wrote: > On Feb 17, 9:51 pm, Stefan Behnel <stefan...@behnel.de> wrote: > > > > > SMERSH009, 17.02.2011 22:46: > > > > am still stuck with the following error when I try to > > > print self.count_css_matches('css=[id="listGuests"]') > > > I've also included the Selenium code below. Any further help would be > > > appreciated. > > > > Traceback (most recent call last): > > > File "D:\Temp\1TestingApps\Selenium\Scripts\SevPractice.py", line > > > 27, in test_untitled > > > print self.count_css_matches('css=[id="listGuests"]') > > > File "D:\Temp\1TestingApps\Selenium\Scripts\SevPractice.py", line > > > 17, in count_css_matches > > > return int(selenium.get_eval(self, java_script_code)) > > > TypeError: unbound method get_eval() must be called with selenium > > > instance as first argument (got Untitled instance instead) > > > > ---------------------------------------------------------------------- > > > > from selenium import selenium > > > import unittest, time > > > from datetime import datetime > > > > class Untitled(unittest.TestCase): > > > def count_css_matches(self, css_locator): > > > java_script_code = ''' > > > var cssMatches = eval_css("%s", window.document); > > > cssMatches.length;''' % css_locator > > > return int(selenium.get_eval(self, java_script_code)) > > > #return int(selenium.getEval(java_script_code)) > > > You want to use "self.selenium" here, not "selenium". > > > Stefan > > > > def setUp(self): > > > self.verificationErrors = [] > > > self.selenium = selenium("localhost", 4445, "*chrome", "http:// > > >www.guestlistnation.com/") > > > self.selenium.start() > > > > def test_untitled(self): > > > sel = self.selenium > > > sel.window_maximize() > > > sel.open("/Events.aspx?Location=SAN FRANCISCO") > > > > sel.click("css=[id='EventDates_ctl00_NestedEvents_ctl01_btnDetails']") > > > sel.wait_for_page_to_load("30000") > > > > print self.count_css_matches('css=[id="listGuests"]') > > > > if __name__ == "__main__": > > > unittest.main() > > Wow-- you guys rock --big time! :)) > Here is the final code with a working examples: > > from selenium import selenium > import unittest, time > from datetime import datetime > > class Untitled(unittest.TestCase): > def count_css_matches(self, css_locator): > java_script_code = ''' > var cssMatches = eval_css("%s", window.document); > cssMatches.length;''' % css_locator > return self.selenium.get_eval(java_script_code) > > def setUp(self): > self.verificationErrors = [] > self.selenium = selenium("localhost", 4445, "*chrome", > "http://www.guestlistnation.com/") > self.selenium.start() > > def test_untitled(self): > sel = self.selenium > sel.window_maximize() > sel.open("/Events.aspx?Location=SAN FRANCISCO") > > sel.click("css=[id='EventDates_ctl00_NestedEvents_ctl01_btnDetails']") > sel.wait_for_page_to_load("30000") > > print self.count_css_matches("[id='listGuests'] > option") # > prints number of options in dropdown with 'id=listGuests' > print self.count_css_matches("*") #prints all on page > if __name__ == "__main__": > unittest.main()
oops, forgot to put back the int conversion! def count_css_matches(self, css_locator): java_script_code = ''' var cssMatches = eval_css("%s", window.document); cssMatches.length;''' % css_locator return int(self.selenium.get_eval(java_script_code)) -- http://mail.python.org/mailman/listinfo/python-list