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

Node.js + Selenium WebDriver - łapanie elementu bez ID

Object Storage Arubacloud
0 głosów
229 wizyt
pytanie zadane 26 grudnia 2016 w JavaScript przez Miki Bywalec (2,480 p.)

Witam,

Uczę się Node.js bawiąc się w pisanie bota. Mam jak zwykle malutki problem ponieważ nie wiem jak złapać element, który jest bez ID.

Wbiłem na pierwszą z brzegu grę i chcę się zalogować za pomocą mojego kodu i już przy łapaniu przycisku "Zaloguj się" występują schody bo nie widzę ID a przycisk wygląda tak:

<button type="submit" class="btn2 btn-block laravelAjax" data-request="http://s11.footballteam.pl/ajax/logowanie">Zaloguj się
</button>

Proszę o wskazówkę jak to sensownie zrobić ;) Z góry dzięki za każdą pomoc i naprowadzenie na właściwe "tory"

 

PS. Nie znam Ajaxa i JQuery

PS2. Mogę to ominąć naciskając myszką współrzędne przycisku lub Enter-em jako przycisk z klawiatury, ale chodzi mi tu o naukę "łapania"

PS3. Przejrzałem https://www.kainos.pl/blog/zaawansowane-interakcje-w-selenium-webdriver/ ale widzę, że tu łapią po ID

 

mój kodzik:

var webdriver = require('selenium-webdriver');
var By = require('selenium-webdriver').By;
var until = require('selenium-webdriver').until;

var driver = new webdriver.Builder().forBrowser('chrome').build();
driver.manage().window().maximize();
driver.manage().deleteAllCookies();

driver.get('http://s11.footballteam.pl/');
driver.findElement(By.id('form-username')).sendKeys('tu_podac_maila@gmail.com');
driver.findElement(By.id('form-password')).sendKeys('haslo');

driver.findElement(By.id('???????????')).click();

driver.sleep(15000);

 

używam:

Visual Studio Code + Node.js + selenium-webdriver + chromedriver + przeglądarki chrome

komentarz 26 grudnia 2016 przez Comandeer Guru (600,810 p.)
Koniecznie musisz używać Selenium? Jest strasznie upierdliwe. Na Twoim miejscu sprawdziłbym, czy cheerio albo jsdom by Ci nie wystarczyły. A jak już Selenium, to poszukałbym jakiejś fajnej biblioteki do obsługi tego (PayPal coś miał, bodaj Nemo czy coś takiego).
komentarz 26 grudnia 2016 przez Miki Bywalec (2,480 p.)
Na selenium wpadłem przypadkiem i sprawdzam co portafi. Użyję najwyżej jsdom bo mi się już obił o uszy ;)

1 odpowiedź

+2 głosów
odpowiedź 26 grudnia 2016 przez kubaapk Nałogowiec (44,270 p.)
Próbowałeś przez 'By.className'?
komentarz 26 grudnia 2016 przez Miki Bywalec (2,480 p.)

Przeszło :) Dzięki

Używałem wcześniej 'By.class' zamiast 'By.className' i mi nie chodziło angry

Podobne pytania

0 głosów
0 odpowiedzi 129 wizyt
pytanie zadane 24 grudnia 2016 w JavaScript przez Miki Bywalec (2,480 p.)
0 głosów
2 odpowiedzi 325 wizyt
pytanie zadane 29 marca 2022 w JavaScript przez KubaLaska Początkujący (350 p.)
+2 głosów
2 odpowiedzi 275 wizyt

92,555 zapytań

141,403 odpowiedzi

319,553 komentarzy

61,939 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...