Jak kliknąć w element dzięki XPATH, python/selenium

0

Dzień dobry, mam problem ze zrozumieniem jak znaleźć element po Xpath..
Tworzę pewien automacik, który uzupełnia dane na stronie i je zapisuje nim przejdzie do kolejnej zakladki.
Pierwszą fajnie powypełniał danymi, poklikał i ok, ale w następnej zakładce jest tylko jedna informacja do wprowadzenia, którą wprowadza jeszcze bez problemu, ale nie mogę później trafić w przycisk zapisz - ponieważ są 3 takie same przyciski na stronie.
Nie ma tam ramek a nazwy i klasy są takie same. Wydaje mi się, że powinienem go namierzyć poprzez xpath - tylko jakoś nie ogarniam jak to działa. Mógłby mi ktoś 'namalować' jak debilowi kwestię tego jednego przycisku?

0

XPath możesz pobrać przez devtools.
Klikasz prawym na element który cię interesuje i Copy > Cope XPath.

0

@JakubD:

Jak znajdziesz xpath danego elementu to Selenium pozwala odszukać taki element na stronie i wykonać na nim akcję:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://example.com")

button = driver.find_element_by_xpath('//div[@class="zapisz"]/button')
button.click()
0

Tylko Xpath mam typu:
/html/body/div[1]/div[2]/div[6]/div/div/form/div[3]/div[1]/div[10]/button[2]
..

0

@JakubD:
XPath z generatora często wygląda tak jak Twój, możesz go użyć :) Co do błędu z komentarza to Seleniu otwiera czystą przeglądarkę - więc może jest tam popup z cookies czy inna zgodą która zasłania element w którch chcesz kliknąć. Możesz albo scrollować ekran albo zobaczyć co tam się wyświetla i to zamknąć żeby odsłonić button.

0

No jak to klinkąć..:(?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.