def test(): url = twilltestlib.get_url() # test empty page get_title namespaces.new_local_dict() twill.commands.reset_browser() browser = twill.get_browser() try: browser.get_title() assert 0, "should never get here" except TwillException: pass ### now test a few special cases commands.go(url) commands.go('/login') # test no matching forms try: commands.fv('2', 'submit', '1') assert 0 except TwillAssertionError: pass # test regexp match commands.fv('1', '.*you', '1') # test ambiguous match to value commands.go('/testform') commands.fv('1', 'selecttest', 'val') commands.fv('1', 'selecttest', 'value1') commands.fv('1', 'selecttest', 'selvalue1') commands.formclear('1') commands.showforms() try: commands.fv('1', 'selecttest', 'value') assert 0 except TwillException: pass # test ambiguous match to name commands.go('/testform') try: commands.fv('1', 'item_', 'value') assert 0 except Exception: pass try: commands.formfile('1', 'selecttest', 'null') assert 0 except Exception: pass commands.go('http://www.google.com/') browser.get_title() # test the twill script. twilltestlib.execute_twill_script('test-form.twill', initial_url=url)
def handle(msg): print "Handle funct" content_type, chat_type, chat_id = telepot.glance2(msg) data = open("users.txt", "a") if str(chat_id) in open('users.txt').read(): print "User exists" else: data.write(str(chat_id) + " ") data.write( str(msg['chat']['first_name']) + " " + str(msg['chat']['last_name']) + "\n") cmd = str(msg['text']) if cmd == 'Results': bot.sendMessage(chat_id, "Enter USN number to see your results.") elif len(cmd) == 10: bot.sendMessage(chat_id, "Processing") go("http://results.vtu.ac.in/") formclear('1') fv("1", "rid", cmd) submit('submit') save_html(cmd + ".html") lines = open(cmd + '.html').readlines() open(cmd + '.html', 'w').writelines(lines[241:-84]) open(cmd + '.html', 'a').writelines( "@vtu_bot- if this file is empty please check the USN or try again when the results are announced " ) f = open(cmd + '.html', 'rb') response = bot.sendDocument(chat_id, f) else: bot.sendMessage(chat_id, "Please enter a valid USN number")
def find_price(name, vintage, volume): formlist = [] #com.showforms() all_forms = cbrw.get_all_forms() for each_form in all_forms: formlist.append(each_form.name) if 'searchform' in formlist: com.formclear("searchform") com.fv("searchform", "Xwinename", name) com.fv("searchform", "Xvintage", vintage) com.fv("searchform", "Xstateid", "CA") com.fv("searchform", "Xbottle_size", "Bottles") #com.fv("searchform", "Xprice_set", "CUR") com.submit() url = com.browser.get_url() #print url page=urllib2.urlopen(url) soup = BeautifulSoup(page.read()) prices=soup.findAll('span',{'class':'offer_price boldtxt'}) price_values = [] for price in prices: #print float((price.next).replace(",", "")) price_values.append(float((price.next).replace(",", ""))) if len(price_values) > 0: return min(price_values), max(price_values), np.mean(price_values) else: return 'unknown', 'unknown', 'unknown' else: return 'unknown', 'unknown', 'unknown'
def login(): if s218: page = 'http://129.21.142.218:8008/securesync/login/' username = '******' password = '******' facility = '0939bcf9d5fe59ff8fde46b5a729a232' else: page = 'http://129.21.142.118:8008/securesync/login/' username = '******' password = '******' facility = 'dbae7005f9b45ce082b5fe0a0985946a' print 'Logging In...' go(page) print "Forms:" showforms() try: # Force try using the first form found on a page. formclear('2') fv("2", "username", username) fv("2", "password", password) fv("2", "facility", facility) #fv("1", "csrfmiddlewaretoken", '3F1bMuIIM9ERzcp6ceEyFxlT51yJKsK6') submit('0') content = showSilently() print 'debug twill post content:', content except urllib2.HTTPError, e: sys.exit("%d: %s" % (e.code, e.msg))
def login(self): print "Logging in..." twill.go("https://www.cbox.ws") twill.formclear("1") twill.fv("1", "uname", self.loginInfo["username"]) twill.fv("1", "pword", self.loginInfo["password"]) twill.submit("0")
def login(self): print "Logging in..." twill.go("https://www.cbox.ws") twill.formclear("1") twill.fv("1", "uname", self.loginInfo["username"]) twill.fv("1", "pword", self.loginInfo["password"]) twill.submit("0") response = twill.browser.get_html() if "Incorrect username or password." in response: raise Exception( "Unable to log into cbox! Incorrect username or password.")
def search (self, key_word): mybrowser.go( self.base_url ) #Silent Mode default True' if self.silent: mybrowser.redirect_error("/dev/null") mybrowser.redirect_output("/dev/null") try: mybrowser.formclear("1")#reset For first Form mybrowser.fv("1", "q", key_word) #change First Form with Key Word mybrowser.submit("btnG") #Click Search in Google not print "Request Finished" except HTTPError, httpe: print "\nError: %s\n%s\n%s" % (httpe.code, httpe.msg, httpe.__doc__)
def pobierzPlan(user, password): tablicaHTMLow = [] commands.add_extra_header( 'User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6') commands.clear_cookies() # Czyszczenie ciastek commands.reset_browser() #restart przegladarki commands.reset_output() #commands.config('use_BeautifulSoup', '0') commands.go("https://edukacja.pwr.wroc.pl/EdukacjaWeb/studia.do" ) # Przechodzimy do edukacji commands.showlinks() # DO USUNIECIA! Pokazuje linki commands.formclear('1') # Czysci formularz logowania commands.formvalue('1', 'login', user) # Podaje login commands.formvalue('1', 'password', password) # Podaje hasło commands.submit('0') # Klika zaloguj print("Linki po submit") # DO USUNIECIA! Pokazuje informacje commands.showlinks() # DO USUNIECIA! Pokazuje linki czyBledneLogowanie = sprawdzCzyBledneLogowanie( commands.show()) # Sprawdza czy na stronie wystapil blad czyLogowanieWInnejSesji = sprawdzCzyLogowanieWInnejSesji(commands.show()) if (czyBledneLogowanie == True): return "Bledne dane logowania" if (czyLogowanieWInnejSesji == True): return "zalogowany w innej sesji" commands.follow("zapisy.do") # Przechodzi linkiem na stronę zapisów # DO USUNIECIA! Pokazuje stronę po kliknięciu zapisy! print("Co po kliknieciu Zapisy") #commands.show() commands.showlinks() print "Forms:" formsy = commands.showforms() links = commands.showlinks() # Pobiera linki z danej strony control = None values = None select_options = None try: control = commands.browser.get_form("1").find_control('ineSluId', type="select") except: print("Nie ma selecta.") #control = commands.browser.get_form("1").find_control('ineSluId', type="select") if (control != None): # Jesli na stronie jest select values = pobierzElementySelect( commands.show()) # Pobieram parserem wartosci selecta select_options = utworzTabeleSelect( values) # Tworze nowy select podmieniajac stary select_attrs = {'id': 'some_id'} # Tworze atrybuty nowego selecta for v in values: # Lece petla po wartosciach selecta form = commands.get_browser().get_form("1") # Pobieram formularz ct = commands.browser.get_form("1").find_control( 'ineSluId', type="select") # Pobieram kontrolke z selectem add_select_to_form(form, 'ineSluId', select_attrs, select_options) # Tworze nowego selecta form.fixup( ) # Sprawdzam czy cos nowego nie zostało dodanego do form commands.showforms() commands.formvalue("1", ct.name, v.strip()) # Podaje wartosc dla selecta commands.submit('0') # Klikam submit html = pobierzZajecia(commands) # Pobieram zajecia commands.follow("zapisy.do") # Wracam do strony zapisów #commands.sleep(6) if ( html != "skreslony z kierunku" ): # Jesli funkcja zwrocila ze jest ktos skreslony to nie dodaje htmlu tablicaHTMLow.append( html ) # Jeli nie zwrocila takiego komunikatu to dodajemy ten html do tablicy else: html = pobierzZajecia( commands ) # Jesli nie ma selecta to pobieramy zajeci z tego kierunku i juz :D if (html != "skreslony z kierunku"): tablicaHTMLow.append(html) #print control.name, control.value, control.type #item = control.get("172748") #print item.name, item.selected, item.id, item.attrs #new_options #commands.formclear('1') # # #form = commands.get_browser().get_form("1") # #print('TO JEST TEN FORM:') #print(form) #print(len(form.controls)) # #notIsSelect = True #for ct in form.controls: # #print(ct) # if ct.name == 'ineSluId': # notIsSelect = False # print('JESTEM') # commands.sleep(3) # # select_attrs = {'id': 'some_id'} # values = pobierzElementySelect(commands.show()) # select_options = utworzTabeleSelect(values) # print(values) # print(select_options) # # # for v in values: # #form.fixup() # add_select_to_form(form, 'ineSluId', select_attrs, select_options) # form.fixup() # #ct.get(v).selected = True # print(ct) # print(form) # print(v) # commands.showforms() # # commands.formvalue("1", ct.name, v.strip()) # Podaje login # print("JEEDEFE") # commands.submit('0') # html = pobierzZajecia(commands) # commands.follow("zapisy.do") # print("JEEEEEEEEESSSSSTTTTTEEEEEMMM") # # commands.sleep(6) # if (html != "skreslony z kierunku"): # tablicaHTMLow.append(html) #ct.get(v).selected = False #for ct2 in form.controls: # if ct2.type == 'submit': # szukam wsrod niej tej co ma typ submit # commands.get_browser().clicked(form, ct2.attrs['name']) # klikam na ten przycisk # commands.get_browser().submit() #links = commands.showlinks() #commands.back() #commands.showforms() #return "no" #if (notIsSelect == True): # html = pobierzZajecia(commands) # if (html != "skreslony z kierunku"): # tablicaHTMLow.append(html) wyloguj(commands) commands.browser.clear_cookies() #usuwanie ciasteczek commands.reset_browser() #restart przegladarki commands.reset_output() return tablicaHTMLow
def test(): url = twilltestlib.get_url() # test empty page get_title namespaces.new_local_dict() twill.commands.reset_browser() browser = twill.get_browser() try: browser.get_title() assert 0, "should never get here" except BrowserStateError: pass ### now test a few special cases commands.go(url) commands.go('/login') commands.showforms() # test no matching forms try: commands.fv('2', 'submit', '1') assert 0 except TwillAssertionError: pass # test regexp match commands.fv('1', '.*you', '1') # test ambiguous match to value commands.go('/testform') commands.fv('1', 'selecttest', 'val') commands.fv('1', 'selecttest', 'value1') commands.fv('1', 'selecttest', 'selvalue1') commands.formclear('1') try: commands.fv('1', 'selecttest', 'value') assert 0 except ClientForm.ItemNotFoundError: pass # test ambiguous match to name commands.go('/testform') try: commands.fv('1', 'item_', 'value') assert 0 except Exception: pass try: commands.formfile('1', 'selecttest', 'null') assert 0 except Exception: pass commands.go('http://www.google.com/') browser.get_title() # test the twill script. twilltestlib.execute_twill_script('test-form.twill', initial_url=url)
url = "http://gatewayip/0/up" my_username = "******" my_password = "******" from twill.commands import go, showforms, formclear, fv, submit go(url) #showforms() formclear('1') fv('1', 'username', my_username) fv('1', 'password', my_password) #showforms() submit('0')
def pobierzPlan(user, password): tablicaHTMLow = [] commands.add_extra_header('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6') commands.clear_cookies() # Czyszczenie ciastek commands.reset_browser() #restart przegladarki commands.reset_output() #commands.config('use_BeautifulSoup', '0') commands.go("https://edukacja.pwr.wroc.pl/EdukacjaWeb/studia.do") # Przechodzimy do edukacji commands.showlinks() # DO USUNIECIA! Pokazuje linki commands.formclear('1') # Czysci formularz logowania commands.formvalue('1', 'login', user) # Podaje login commands.formvalue('1', 'password', password) # Podaje hasło commands.submit('0') # Klika zaloguj print("Linki po submit") # DO USUNIECIA! Pokazuje informacje commands.showlinks() # DO USUNIECIA! Pokazuje linki czyBledneLogowanie = sprawdzCzyBledneLogowanie(commands.show()) # Sprawdza czy na stronie wystapil blad czyLogowanieWInnejSesji = sprawdzCzyLogowanieWInnejSesji(commands.show()) if (czyBledneLogowanie == True): return "Bledne dane logowania" if (czyLogowanieWInnejSesji == True): return "zalogowany w innej sesji" commands.follow("zapisy.do") # Przechodzi linkiem na stronę zapisów # DO USUNIECIA! Pokazuje stronę po kliknięciu zapisy! print("Co po kliknieciu Zapisy") #commands.show() commands.showlinks() print "Forms:" formsy = commands.showforms() links = commands.showlinks() # Pobiera linki z danej strony control = None values = None select_options = None try: control = commands.browser.get_form("1").find_control('ineSluId', type="select") except: print("Nie ma selecta.") #control = commands.browser.get_form("1").find_control('ineSluId', type="select") if(control != None): # Jesli na stronie jest select values = pobierzElementySelect(commands.show()) # Pobieram parserem wartosci selecta select_options = utworzTabeleSelect(values) # Tworze nowy select podmieniajac stary select_attrs = {'id': 'some_id'} # Tworze atrybuty nowego selecta for v in values: # Lece petla po wartosciach selecta form = commands.get_browser().get_form("1") # Pobieram formularz ct = commands.browser.get_form("1").find_control('ineSluId', type="select") # Pobieram kontrolke z selectem add_select_to_form(form, 'ineSluId', select_attrs, select_options) # Tworze nowego selecta form.fixup() # Sprawdzam czy cos nowego nie zostało dodanego do form commands.showforms() commands.formvalue("1", ct.name, v.strip()) # Podaje wartosc dla selecta commands.submit('0') # Klikam submit html = pobierzZajecia(commands) # Pobieram zajecia commands.follow("zapisy.do") # Wracam do strony zapisów #commands.sleep(6) if (html != "skreslony z kierunku"): # Jesli funkcja zwrocila ze jest ktos skreslony to nie dodaje htmlu tablicaHTMLow.append(html) # Jeli nie zwrocila takiego komunikatu to dodajemy ten html do tablicy else: html = pobierzZajecia(commands) # Jesli nie ma selecta to pobieramy zajeci z tego kierunku i juz :D if (html != "skreslony z kierunku"): tablicaHTMLow.append(html) #print control.name, control.value, control.type #item = control.get("172748") #print item.name, item.selected, item.id, item.attrs #new_options #commands.formclear('1') # # #form = commands.get_browser().get_form("1") # #print('TO JEST TEN FORM:') #print(form) #print(len(form.controls)) # #notIsSelect = True #for ct in form.controls: # #print(ct) # if ct.name == 'ineSluId': # notIsSelect = False # print('JESTEM') # commands.sleep(3) # # select_attrs = {'id': 'some_id'} # values = pobierzElementySelect(commands.show()) # select_options = utworzTabeleSelect(values) # print(values) # print(select_options) # # # for v in values: # #form.fixup() # add_select_to_form(form, 'ineSluId', select_attrs, select_options) # form.fixup() # #ct.get(v).selected = True # print(ct) # print(form) # print(v) # commands.showforms() # # commands.formvalue("1", ct.name, v.strip()) # Podaje login # print("JEEDEFE") # commands.submit('0') # html = pobierzZajecia(commands) # commands.follow("zapisy.do") # print("JEEEEEEEEESSSSSTTTTTEEEEEMMM") # # commands.sleep(6) # if (html != "skreslony z kierunku"): # tablicaHTMLow.append(html) #ct.get(v).selected = False #for ct2 in form.controls: # if ct2.type == 'submit': # szukam wsrod niej tej co ma typ submit # commands.get_browser().clicked(form, ct2.attrs['name']) # klikam na ten przycisk # commands.get_browser().submit() #links = commands.showlinks() #commands.back() #commands.showforms() #return "no" #if (notIsSelect == True): # html = pobierzZajecia(commands) # if (html != "skreslony z kierunku"): # tablicaHTMLow.append(html) wyloguj(commands) commands.browser.clear_cookies() #usuwanie ciasteczek commands.reset_browser() #restart przegladarki commands.reset_output() return tablicaHTMLow