Týden návrhu sw Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Využij až 80% slevu na kurzy Návrhu Software
Avatar
Døminik
Člen
Avatar
Døminik:24. ledna 22:13

Ahoj, chtěl bych naprogramovat automatické přihlášení k mému účtu na systému školy, jelikož se automaticky odhlašuje a docela často ho potřebuji. Kód dělám v Pythonu, použil jsem k tomu Selenium a webdriver Firefoxu: geckodriver-v0.23.0-win64.zip.
Když zadám svoje jméno a heslo, normálně se mi vepíše do příslušných políček, ale poté se již nezmáčkne enter (což by vedlo k přihlášení), ani není akceptováno kliknutí na kolonku přihlásit se.

Myslím, že problém bude u webdriveru, co jiného myslíte, že bych měl použít?
Díky
Lukáš

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://mail.skola.cz/")

name = driver.find_element_by_id("…")
name.send_keys("hajek.lukas")

password= driver.find_element_by_id("…")
password.send_keys("moje_heslo").send_keys(Keys.ENTER)

prihlasit = driver.find_element_by_value("přihlásit")
prihlasit.click()
Editováno 24. ledna 22:14
 
Odpovědět 24. ledna 22:13
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:25. ledna 15:54

formular v js se odesila form.submit();

Za prepodkladu, ze to skutecne nejaky element najde, ze treba neni problem diakritika, spatne kodovani, tak by to melo fungovat

prihlasit = driver.find_element_by_value("přihlásit")
prihlasit.click()

Muzes zkusit treba hledat input type=submit nebo podle name formulate a zkusit click, submit. Pripadne bych sel pres google
google = geckodriver form submit python

search_form = browser.find_element_by_id('search_form_input_homepage')
search_form.send_keys('real python')
search_form.submit()

opts = Option()
opts.set_headless()
browser = Firefox(options=opts)
browser.get('https://bandcamp.com')
browser.find_element_by_class('playbutton').click()\

google = geckodriver form submit python example
https://selenium-python.readthedocs.io/…started.html

elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN) ---- tady treba odesilaji returnem, coz je jiny nazev pro enter
 
Nahoru Odpovědět 25. ledna 15:54
Avatar
Døminik
Člen
Avatar
Odpovídá na Peter Mlich
Døminik:27. ledna 21:32

Píši kód v Pythonu a napsal jsem ho tak trochu ilustračně.
Čistě je zde, ale také nefunguje:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.gymkren.cz/isas/prihlasit.php")

jmeno = driver.find_element_by_name("login-isas-username")
jmeno.send_keys("petr.dominik")

heslo = driver.find_element_by_name("login-isas-password")
heslo.send_keys("abcd1234").send_keys(Keys.ENTER)

klik_prihlasit = driver.find_element_by_name("login-isas-send")
klik_prihlasit.click()
klik_prihlasit.send_keys(Keys.RETURN)
 
Nahoru Odpovědět 27. ledna 21:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.