• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python Selenium KRZ

42 Warsaw Coding Academy
0 głosów
321 wizyt
pytanie zadane 6 marca 2024 w Python przez Fidzi Nowicjusz (120 p.)
Cześć,
Próbuję wejść na stronę KRZ: https://krz.ms.gov.pl/#!/application/KRZPortalPUB/1.9/KrzRejPubGui.WyszukiwaniePodmiotow?params=JTdCJTdE&itemId=item-2&seq=0
i wejść w zakładkę na górze "Osoba fizyczna nieprowadząca działalności gospodarczej". Nie mogę już wejść w tą zakładkę.
Nawet jak zrobiłem time.sleep(30).
Ktoś mam pomysł jak mogę się dostać do tej zakładki?

2 odpowiedzi

0 głosów
odpowiedź 6 marca 2024 przez Wiciorny Ekspert (280,610 p.)
Sprawdź, czy nie jest tam ukryty frame, lub element nie jest zagnieżdżony bardzo, często tak się zdarza, że przez zagnieżdżenie, albo iFrame, jakiś tab, driver powinien najpierw być przekierowany po selektorach na frame/taby/podstrony potem dopiero odwoływać się po lokalizacji elementu.
Nie wiem jak twój kod wygląda, to pewnie by pomogło innym znającym temat, na lepszą pomoc w tej kwestii.
Upewnij się, że podajesz prawidłowy CSS selektor, chyba że korzystasz z XPATH, sprawdź oba- może któryś w danym przypadku będzie lepiej się sprawdzał, wtedy masz punkt odniesienia, że coś było nie tak z tworzeniem odwołania.
komentarz 6 marca 2024 przez Fidzi Nowicjusz (120 p.)
to jest fragment mojego kodu:
driver = webdriver.Chrome()
driver.get("https://krz.ms.gov.pl/#!/application/KRZPortalPUB/1.9/KrzRejPubGui.WyszukiwaniePodmiotow?params=JTdCJTdE&itemId=item-2&seq=0")
time.sleep(5)
osoba_fizyczna_option_xpath = '//span[@class="ui-tabview-title ng-star-inserted" and contains(text(), "Osoba fizyczna nieprowadząca działalności gospodarczej")]'
osoba_fizyczna_option = WebDriverWait(driver, 3).until(
    EC.element_to_be_clickable((By.XPATH, osoba_fizyczna_option_xpath))
)
osoba_fizyczna_option.click()

 

Jak mogę sprawdzić ukryty frame?

0 głosów
odpowiedź 6 marca 2024 przez VBService Ekspert (256,600 p.)
edycja 7 marca 2024 przez VBService

Próbowałeś tak, w kodzie html strony

<a role="tab" id="ui-tabpanel-2-label" aria-selected="false" aria-controls="ui-tabpanel-2" tabindex="-1">
  <!---->
  <span class="ui-tabview-title ng-star-inserted">Osoba fizyczna nieprowadząca działalności gospodarczej</span>
  <!---->
  <!---->
  <!---->
  <!---->
  <span class="pi" style="width: 0px; margin: 0px; visibility: hidden;"></span>
</a>

klikalny element dla zakładki jest elementem <a> a nie <span>

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

driver = webdriver.Chrome()

driver.get("https://krz.ms.gov.pl/#!/application/KRZPortalPUB/1.9/KrzRejPubGui.WyszukiwaniePodmiotow?params=JTdCJTdE&itemId=item-2&seq=0")

time.sleep(5)

element_to_click_xpath = '//a[@id="ui-tabpanel-2-label"]'
element_to_click = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, element_to_click_xpath))
)
element_to_click.click()

 

komentarz 7 marca 2024 przez Fidzi Nowicjusz (120 p.)
sprawdziłem i pojawia się błąd:

selenium.common.exceptions.TimeoutException: Message:

Stacktrace:

Dodatkowo jak po driver.get(...) wykonuję komendę print(page_source) to brakuje tego kodu html który jest na stronie

Podobne pytania

0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 18 lipca 2023 w Python przez FrikeQ Nowicjusz (170 p.)
0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 16 października 2022 w Python przez Mocaz Użytkownik (560 p.)
0 głosów
0 odpowiedzi 328 wizyt
pytanie zadane 7 września 2022 w Python przez Mocaz Użytkownik (560 p.)

93,376 zapytań

142,377 odpowiedzi

322,517 komentarzy

62,724 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...