Jak stworzyć swój własny xapth ze storny

0

Witam!
Czy ktoś mógłby mi pomóc w stworzeniu swojego xpath ?

//*[@id="PlaceBetButton"]

to jest ten xpath wyciągnięty ze strony a wiem, że można w jakiś sposób przerobić tak by działał bodajże na klasy tyle, że się dopiero uczę i nie wiem jak to zrobić a próbowałem...

<button id="PlaceBetButton" class="lnk_btn green_btn betSlip-btn" type="submit" data-uat="place-bet-button" onclick="UniSlipBlock.placeBets();" style="display: block;">Postaw zakład</button>

to jest skopiowany cały elementm z którego chciałbym wyciągnąć xpath.

Z góry dziękuję za pomoc i pozdrawiam :)

2

Nie zrozumiałem co chcesz zrobić.

Mój przykładowy XPath:
//button[@class="nk_btn green_btn betSlip-btn"] -- wybiera wszystkie elementy button, dla których atrybut class ma wartość nk_btn green_btn betSlip-btn

Takie wyrażenie ma sens w kontekście dokumentu o określonej strukturze.

0

Chodzi mi o to, że jak wchodzę na stronę, wybieram „zbadaj” i kopiuj xpath wklejam do pycharma i pokazuje taki xpath:
//*[@id="PlaceBetButton"]

Jak odpalam program to nie może mi znaleźć takiego xpatha, tak samo kopiowałem fullxpath i też nie może mi zlokalizować. A kolega mi kiedyś mówił, że można tak jakby stworzyć swojego xpath ale nie wiem w jaki sposób to się robi.

taki błąd mi wyskakuje:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div[2]/div[2]/div/div/div[3]/div[2]/div/div/div/div/div/div[2]/div[2]/div[3]/div[1]"}
(Session info: chrome=90.0.4430.212)

1

Czy możesz podać link do strony, z którą masz problem i wskazać, do którego elementu próbujesz namierzyć ściezkę?

0

@OnlyTheParanoidSurvive:
Link: https://www.pzbuk.pl/pl/live-betting
wybierając odpowiedni kurs po prawej stronie pojawi się przycisk "Postaw zakład" i właśnie chciałbym aby ten element został kliknięty.
Próbowałem kopiować xpath i full xapath ale program nie może znaleźć elementu.

Z góry wielkie dzięki, jak byłby problem to mogę zrobić screena i dodać aby można było zobaczyć o co kaman

1

Oto działający kod:

driver.switch_to.frame(0)
driver.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[2]/sb-block[2]/div/div/div[2]/div[1]/section/div/div[3]/div[4]/div[5]/div[2]/button").click()

Alternatywna metoda:

driver.switch_to.frame(0)
driver.find_element_by_id("PlaceBetButton").click()
0

Dzięki Wielkie! Pomogło :-) Mniej więcej już będę wiedział jak to się tworzy :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1