Wpis z mikrobloga

Mam program wykorzystujący selenium w tym chromedriver, którego wersja jest niekompatybilna z najnowszym chromem. Pobrałem i zaciągnąłem nowsza wersję chromedrivera, package jak poprzednik. Niestety występuje kolizja i program używa starej biblioteki, której nie mogę usunąć ze względu na pozostałe klasy. Znalazłem jarjar files, ale nie potrafię go wykorzystać. Program nie jest mój, ja Javy znam tylko podstawy podstaw, a programik musi chodzić.

#java #selenium
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@venomik: program używa chromedriver i inne klasy znajdujące się w bibliotece selenium. Od niedawna wersja chromedriver nie działa z chromem, i doczytałem, że muszę zaktualizować chromedriver. I teraz nie wiem jak wskazać nowego chromedriva (będącego w package o tej samej nazwie jak poprzednik) nie usuwając starej biblioteki
  • Odpowiedz
@rzezimieszek_: O.o chcesz zjeść ciasto oraz go mieć w tym samym czasie.
Pewnie nowa wersja chromedriver nie wspiera jakiś tam klas i usunęli, sprawdź ich stronę i swoja wersje napewno będzie jakiś poradnik jak zrobić upgrade do nowej wersji
  • Odpowiedz
@rzezimieszek_: Brak znajomości podstawowych mechanizmów obsługi zależności w tym wypadku jest raczej problemem nie do przeskoczenia. Wrzuć chociaż strukturę katalogów projektu, cokolwiek, żeby można było Ci pomóc.
  • Odpowiedz
@rzezimieszek_: Ok, ale pokaż strukturę Twojej aplikacji, a nie biblioteki Selenium. W jaki sposób ją budujesz? Maven, Gradle, Ant?

Generalnie, musisz zrobić tak, że Twoja aplikacja korzysta z wersji 2.25, a nie 2.43, ale jak to zrobić - to już zależy od tego, w jaki sposób zarządzasz zależnościami w swoim projekcie. Masz tam jakiś plik pom.xml? build.xml? build.gradle?
  • Odpowiedz
@Uszatyy: okej, dzięki bardzo jutro będę się tym zajmował (praca), aczkolwiek no właśnie mi się nasunęło takie rozwiązanie żeby tą nową wersję chromedrivera wrzucić do nowego folderu w source i wtedy importować:

import folder.org.openqa.selenium.chrome.ChromeDriver;
a resztę zostawić jak była, miałoby to prawo działać :D?
  • Odpowiedz
@rzezimieszek_: Zapomnij o tym co napisałem poprzednio, nie otworzyłem Twojego obrazka. Sorki za zamieszanie. ( ͡° ʖ̯ ͡°) Co rozumiesz przez "wrzucić"? Jeśli chcesz przerzucić zipa - teoretycznie mógłbyś to zrobić do explodowanej paczki ale po przebudowaniu projektu, czy dla IDE byłoby to niewidoczne. Do zmiany wersji biblioteki, tak jak pisali koledzy, musisz zaktualizować jej wersję, w pliku konfiguracyjnym narzędzia do budowy projektu ant-cie, mavenie lub
  • Odpowiedz
Rozwiązanie: chromedriver oprócz tego, że jest biblioteką selenium, jest też binarką. Jeżeli nie wskażemy jej projekcie jest brana domyślnie skądś (moze z google chrome, windowsa albo netbeansa - nie wiem nie sprawdzałem) w wersji 2.23. Żeby rozwiązać problem należy najpierw

1. Pobrać plik exe z nowszą wersją -> LINK
2. Przed deklaracją drivera wskazać nowy exe, dopisujemy poniższą linię kodu:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
Trochę mi to zajęło i po drodze sporo się nauczyłem,
  • Odpowiedz