Zeile 1: |
Zeile 1: |
− | 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). | + | [http://docs.seleniumhq.org/ 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 == | | == 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]] |