Jak działają selectory w Selenium?

Jak działają selectory w Selenium?
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0

Hej,

mam kod który scrapuje dane z tego linku: link

I teraz developer ustawił takie selectory:

Kopiuj
Selector01: //a[2][@href='/?q=business%20analyst@keyword']
Selector02: //a[2][@href='/?q=business%20analyst@keyword']/../../..
Selector03: //a[2][@href='/?q=business%20analyst@keyword']/../../../div[2]/div[1]/div[1]
Selector04: //a[starts-with(@href, '/offers/')]
  1. Czy ktoś mi wyjaśni jak je znaleźć na stronie?
    Wpisuję je w dodatek do chrome SelectorsHub i nic mi nie pokazuje.

  2. co znaczy /../?

Dziękuję za pomoc,
Jacek

Marius.Maximus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2202
2

ad 1)

ad 2) parent ?

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0
Adamek Adam napisał(a):

ad 1)

ad 2) parent ?

Znam ten link. Dzięki. Ale to nie zmienia faktu że nie wiem jak to zrobił :)

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
3

Toż to XPath.
Pod Chrome możesz łatwo taki skopiować z poziomu przeglądarki:
screenshot-20221207090900.png
//*[@id="id1881260"]/div[2]/div[2]/div[2]/div[2]/div/pre/code

Odpowiadając na Twoje pytanie:
//a[2][@href='/?q=business%20analyst@keyword']/../../../div[2]/div[1]/div[1]

// - bieżący node
a[2] - drugie dziecko o nazwie a
[@href='/?q=business%20analyst@keyword'] - atrybut href ma wartość /?q=business%20analyst@keyword
/../../../ - parent parenta parenta znalezionego elementu a[2]
div[2] - drugi element div

Tu masz tekstową instrukcję: link

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.