Wpis z mikrobloga

#csharp #selenium

1. Jak wykryć, że zamknąłem kartę, którą otworzył mi ChromeDriver?
2. Jak przejąć atrybuty wszystkich formularzy na stronie otwartej przez ChromeDriver? (id, name, value)
FindElements wymaga By
(chce zebrać wszystkie dostępne, następnie zadziałać na nich regexem i wypełnić tylko niektóre)
  • 3
  • Odpowiedz
@Noct:
Otwarte karty widnieją jako windowhandles, po otwarciu jakiegoś okna czytasz jego window handle (po focusie oczywiście) do stringa i potem możesz sprawdzić czy jest teraz w handles = otwarte
Find By możesz użyc z XPATHem i wtedy rzucić na wszystko z *, ale jaki będzie efekt... Troche pokrętny sposób.
  • Odpowiedz
  • 0
@m0rdeczka: na pierwszy problem wystarczy w zasadzie button albo Ew timer, ale to dodatkowa robota, to będzie lepsze. Sprawdzę czy wyjdzie.
Czy lepiej byłoby ściągnąć html do stringa i stamtąd powyciągać wszystkie id, po czym iterowac po tych id findelements? (Chciałem tu użyć najmniej regexów jak to możliwe)
Planowałem zrobić coś takiego, ze rozpoznaje atrybuty pola forma po kliknięciu na dane pole (albo wpisaniu jakiegoś tekstu, wtedy szukałbym po value) masz
  • Odpowiedz
n


@Noct: No jak tak chcesz się bawić to rzeczywiście regexem zrobisz wszystko, potężne narzędzie, ale nie przepadam za nim :p
A jest powód czemu tak chcesz to robic, zamiast zczytać każde pole i odnieść się do nich? Może wszystkie te pola formularza są jednego typu np inputy jakieś albo w grupach typów wtedy mozna pobrać po findelements do listy elementów i pętlą uzupełnić, tylko nie masz nigdy pewności, że wyświetlanie
  • Odpowiedz