Selenium: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
== Fernsteuerung von Firefox ==
 
== Fernsteuerung von Firefox ==
  
Um [[Firefox]] fernzusteuern, bedarf es noch des [https://github.com/mozilla/geckodriver/releases geckodriver], der von [https://github.com/mozilla/geckodriver/releases Github] herunterzuladen ist und dann im Pfad enthalten sein muss. Z.B. in <code>/usr/local/bin/</code>.  
+
Um [[Firefox]] fernzusteuern, bedarf es noch des [https://github.com/mozilla/geckodriver/releases geckodriver], der von [https://github.com/mozilla/geckodriver/releases Github] herunterzuladen ist und dann im Pfad enthalten sein muss. Z.B. in <code>/usr/local/bin/</code>.
  
 +
== Fernsteuerung von Chromium ==
 +
 +
Um Chromium fernzusteuern, bedarf es des ChromeDrivers<ref>https://sites.google.com/a/chromium.org/chromedriver/getting-started</ref>. Dieser kann unter Debian 9 Stretch mit folgendem Befehl installiert werden:
 +
  sudo aptitude install chromium-chromedriver
 +
 +
== Schnelleres Parsen von Tabellen ==
 +
 +
Das Parsen von Tabellen nimmt in Selenium einige Zeit in Anspruch. Angeblich kann man das verbessern, indem nach Aufbau der Webpage der HTML-Code mittels [https://jsoup.org/ Jsoup] geparset wird.<ref>Siehe http://stackoverflow.com/questions/21243523/using-seleniumdriver-to-extract-all-rows-and-columns-given-a-table-element .</ref>
 +
 +
  String source = "<table>" + driver.findElement(By.xpath(locator)).getAttribute("innerHTML") + "<table>";
 +
  Document doc = Jsoup.parse(source, "UTF-8");
 +
 +
== Alternativen ==
 +
 +
In der Nodejs-Welt gibt es Alternativen zu Selenium, z.B.
 +
* Puppeteer
 +
** https://www.lewuathe.com/simple-crawling-with-puppeteer-in-typescript.html
  
 
--------
 
--------
 
<references/>
 
<references/>
 
[[Category:Internet]]
 
[[Category:Internet]]

Aktuelle Version vom 24. Dezember 2020, 07:02 Uhr

Selenium ist eine Fernsteuerung-API für verschiedene Webbrowser. In Java-Projekte integriert man es am besten mittels Maven (Group-ID:selenium-java, Artifact-ID: org.seleniumhq.selenium).

Fernsteuerung von Firefox

Um Firefox fernzusteuern, bedarf es noch des geckodriver, der von Github herunterzuladen ist und dann im Pfad enthalten sein muss. Z.B. in /usr/local/bin/.

Fernsteuerung von Chromium

Um Chromium fernzusteuern, bedarf es des ChromeDrivers[1]. Dieser kann unter Debian 9 Stretch mit folgendem Befehl installiert werden:

 sudo aptitude install chromium-chromedriver

Schnelleres Parsen von Tabellen

Das Parsen von Tabellen nimmt in Selenium einige Zeit in Anspruch. Angeblich kann man das verbessern, indem nach Aufbau der Webpage der HTML-Code mittels Jsoup geparset wird.[2]

String source = "

" + driver.findElement(By.xpath(locator)).getAttribute("innerHTML") + "
"; Document doc = Jsoup.parse(source, "UTF-8");

Alternativen

In der Nodejs-Welt gibt es Alternativen zu Selenium, z.B.