HtmlUnit:选择由JavaScript生成的特定文本

时间:2017-12-26 21:58:32

标签: html htmlunit

我正在使用HtmlUnit从网页获取可能由Javascript生成的文本(因为它不在HTML代码和链接中)。 我看的网址是stepstone

import java.io.IOException;
import java.util.logging.Level;

import org.apache.commons.logging.LogFactory;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class HtmlUnit2 {

    public static void main(String[] args) {
        LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log",
                "org.apache.commons.logging.impl.NoOpLog");

        java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
        java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);

        String uri = "https://www.stepstone.de/stellenangebote--Projektleiter-m-w-Forschung-Entwicklung-Automotive-Security-Standardisierung-und-prototypische-Implementierung-Eching-bei-Muenchen-DENSO-AUTOMOTIVE-Deutschland-GmbH--4675635-inline.html";
        HtmlPage page;
        try {
            final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52); // Imitating a specific browser
            page = webClient.getPage(uri);

            final String pageAsText = page.asText();
            System.out.println(pageAsText);

        } catch (FailingHttpStatusCodeException | IOException e) {

            // e.printStackTrace();
        }

    }

}

不知怎的,我无法从page.asXml()获取文本,只能将其作为page.asText(),但输出中包含大量垃圾和其他标记中无用的单词:

    Projektleiter (m/w) Forschung & Entwicklung – Automotive Security Standardisierung und prototypische Implementierung - Job bei DENSO AUTOMOTIVE Deutschland GmbH in Eching bei München


Unsere Webseite verwendet Cookies, um Ihnen eine bessere Nutzererfahrung zu ermöglichen. Durch die Nutzung unserer Webseite stimmen Sie unserer Verwendung von Cookies zu. Mehr











Stellenanzeige aufgeben


Für Arbeitgeber




Login





Lebenslauf anlegen


DE
















Suchen


Erweiterte Suche











DENSO AUTOMOTIVE Deutschland GmbH

Projektleiter (m/w) Forschung & Entwicklung – Automotive Security Standardisierung und prototypische Implementierung

Eching bei München
 Feste Anstellung
 Vollzeit
 Erschienen: vor einem Monat




Jetzt bewerben

 Merken








DENSO AUTOMOTIVE Deutschland GmbH DENSO zählt als globaler Automobil­zulieferer für Erst­ausrüstung und Aftermarket mit rund 151.000 Mitarbeitern in 38 Ländern weltweit zu den führenden Entwicklern und Anbietern von Komponenten und Systemen in den Bereichen Klimatisierung, Antriebs­strang, Elektrik, Elektronik, Fahrer­assistenz und Infotainment. Zur Verstärkung unserer Abteilung Corporate Research & Development in Eching bei München suchen wir ab sofort einen Projektleiter (m/w) Forschung & Entwicklung – Automotive Security Standardisierung und prototypische Implementierung Wir suchen einen kompetenten Projektleiter (m/w) in Eching bei München. Die stetig wachsende Vernetzung von Fahrzeugen führt zu einem deutlich gesteigerten Angriffspotenzial. Innerhalb des Fahrzeugs wandeln sich die statisch konfigurierten Systeme in Systeme mit dynamischen Zuweisungen und Abläufen. Sie werden in dieser Stelle für die Planung sowie Durchführung von Forschungs- und Entwick­lungsaufgaben für den Bereich Automotive Security verantwortlich sein. Diese werden Sie in enger Zusammenarbeit mit anderen Entwicklungsabteilungen innerhalb Europas sowie weltweit durchführen. Hauptaugenmerk liegt in der Ver­wertung der Erkenntnisse und Ergebnisse der nationalen, europäischen als auch internationalen Standardisierung sowie dem Transfer zur Unterstützung von Kundenprojekten. Im Detail werden Sie bei der internationalen Standardisierung aktiv mitarbeiten und dabei DENSOs technische Interessen vertreten, die nationale Standardisierung unterstützen und dazu engen Dialog mit den Gremienpartnern über ent­stehende Normen führen, die F&E-Prototypprojekte im Bereich Automotive Security sowie die Planung als auch Durch­füh­rung daran ausgerichteter Unterprojekte unterstützen und sich selber weiterentwickeln, um ein führender technischer Experte (m/w) in DENSOs Wachstumsbereichen zu werden. Erforderliche Qualifikation: Universitätsabschluss (Diplom, Master oder Promotion) im Bereich Informatik, Elektrotechnik oder andere verwandte Ingenieurstudiengänge mit Bezug zur Automobiltechnik Solides Wissen in IT Security, wie kryptographischen Verfahren, Risikoanalysen und -bewertungen, idealerweise in der Anwendung auf den Automobilsektor Sicherer und effizienter Umgang mit IT und Erfahrungen mit Linux-Entwicklungen, idealerweise Embedded Linux Erfahrungen mit Web-Entwicklung und Server-Verwaltung Erste Erfahrungen im Bereich Erfindungen und Patentschutz Herausragende Kommunikations- und Präsentationsfähigkeiten Verhandlungssichere und überzeugende Persönlichkeit Teamfähigkeit mit interkulturellen Kompetenzen bei gleichzeitiger Fähigkeit, selbstständig und gut organisiert zu arbeiten Bereitschaft, über die Grenzen von akademischer Forschung hinauszudenken Führerschein der Klasse B und die Bereitschaft zu gelegentlichen nationalen als auch internationalen Dienst­reisen Verhandlungssichere Deutsch- und Englischkenntnisse in Wort und Schrift (Geschäftssprache ist Englisch) Bitte senden Sie uns Ihre Bewerbung mit Angabe Ihrer Verfügbarkeit, Ihrer Gehaltsvorstellung und der Stellennummer 201709 in Deutsch und Englisch direkt an jobs@denso-auto.de. DENSO AUTOMOTIVE Deutschland GmbH HR Specialist Frau Bianca Petritsch Tel: 08165/944-232, jobs@denso-auto.de www.denso-europe.com www.denso-local.com/deutschland Follow us on twitter



Jetzt bewerben




Unternehmen




11 Stellen


DENSO AUTOMOTIVE Deutschland GmbH

Fahrzeugbau/-zulieferer




Standort

 Karte anzeigen


DENSO AUTOMOTIVE Deutschland GmbH
 Eching, Deutschland







Weitere Jobs

1.
Nach Berufsfeld

2. Ingenieure und technisc...
3. Einkauf, Materialwirtsc...
4. IT


1.
Nach Standort

2. Eching
3. München
4. Bayern
5. Ostbayern
6. Südbayern


1.
Nach Jobtitel

2. Applikationsingenieur/i...
3. Entwicklungsingenieur/i...
4. Head of Display











Über StepStone

Wer wir sind
Presse
Partner werden


Karriere bei StepStone
StepStone Blog



Feedback

Geben Sie uns Feedback


Apps





















Datenschutzerklärung
 Nutzungsbedingungen
 Kontakt
 Informationen über Ihre Rechte
 AGB
 Impressum


Copyright © StepStone GmbH 1996 - 2017

我想只有这个元素:

DENSO AUTOMOTIVE Deutschland GmbH DENSO zählt als globaler Automobil­zulieferer für Erst­ausrüstung und Aftermarket mit rund 151.000 Mitarbeitern in 38 Ländern weltweit zu den führenden Entwicklern und Anbietern von Komponenten und Systemen in den Bereichen Klimatisierung, Antriebs­strang, Elektrik, Elektronik, Fahrer­assistenz und Infotainment. Zur Verstärkung unserer Abteilung Corporate Research & Development in Eching bei München suchen wir ab sofort einen Projektleiter (m/w) Forschung & Entwicklung – Automotive Security Standardisierung und prototypische Implementierung Wir suchen einen kompetenten Projektleiter (m/w) in Eching bei München. Die stetig wachsende Vernetzung von Fahrzeugen führt zu einem deutlich gesteigerten Angriffspotenzial. Innerhalb des Fahrzeugs wandeln sich die statisch konfigurierten Systeme in Systeme mit dynamischen Zuweisungen und Abläufen. Sie werden in dieser Stelle für die Planung sowie Durchführung von Forschungs- und Entwick­lungsaufgaben für den Bereich Automotive Security verantwortlich sein. Diese werden Sie in enger Zusammenarbeit mit anderen Entwicklungsabteilungen innerhalb Europas sowie weltweit durchführen. Hauptaugenmerk liegt in der Ver­wertung der Erkenntnisse und Ergebnisse der nationalen, europäischen als auch internationalen Standardisierung sowie dem Transfer zur Unterstützung von Kundenprojekten. Im Detail werden Sie bei der internationalen Standardisierung aktiv mitarbeiten und dabei DENSOs technische Interessen vertreten, die nationale Standardisierung unterstützen und dazu engen Dialog mit den Gremienpartnern über ent­stehende Normen führen, die F&E-Prototypprojekte im Bereich Automotive Security sowie die Planung als auch Durch­füh­rung daran ausgerichteter Unterprojekte unterstützen und sich selber weiterentwickeln, um ein führender technischer Experte (m/w) in DENSOs Wachstumsbereichen zu werden. Erforderliche Qualifikation: Universitätsabschluss (Diplom, Master oder Promotion) im Bereich Informatik, Elektrotechnik oder andere verwandte Ingenieurstudiengänge mit Bezug zur Automobiltechnik Solides Wissen in IT Security, wie kryptographischen Verfahren, Risikoanalysen und -bewertungen, idealerweise in der Anwendung auf den Automobilsektor Sicherer und effizienter Umgang mit IT und Erfahrungen mit Linux-Entwicklungen, idealerweise Embedded Linux Erfahrungen mit Web-Entwicklung und Server-Verwaltung Erste Erfahrungen im Bereich Erfindungen und Patentschutz Herausragende Kommunikations- und Präsentationsfähigkeiten Verhandlungssichere und überzeugende Persönlichkeit Teamfähigkeit mit interkulturellen Kompetenzen bei gleichzeitiger Fähigkeit, selbstständig und gut organisiert zu arbeiten Bereitschaft, über die Grenzen von akademischer Forschung hinauszudenken Führerschein der Klasse B und die Bereitschaft zu gelegentlichen nationalen als auch internationalen Dienst­reisen Verhandlungssichere Deutsch- und Englischkenntnisse in Wort und Schrift (Geschäftssprache ist Englisch) Bitte senden Sie uns Ihre Bewerbung mit Angabe Ihrer Verfügbarkeit, Ihrer Gehaltsvorstellung und der Stellennummer 201709 in Deutsch und Englisch direkt an jobs@denso-auto.de. DENSO AUTOMOTIVE Deutschland GmbH HR Specialist Frau Bianca Petritsch Tel: 08165/944-232, jobs@denso-auto.de www.denso-europe.com www.denso-local.com/deutschland Follow us on twitter

如何关注此文本,因为它是由javascript生成的,并不存在于xml / dom模型中?

1 个答案:

答案 0 :(得分:0)

因为附加内容是通过ajax重新获取的,而ajax是异步的,所以你必须稍等一下。

这适用于最新的SNAPSHOT

    String url = "https://www.stepstone.de/stellenangebote--Projektleiter-m-w-Forschung-Entwicklung-Automotive-Security-Standardisierung-und-prototypische-Implementierung-Eching-bei-Muenchen-DENSO-AUTOMOTIVE-Deutschland-GmbH--4675635-inline.html";

    try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52)) {
        final HtmlPage page = webClient.getPage(url);
        webClient.waitForBackgroundJavaScript(1000);

        System.out.println("----------------");
        System.out.println(page.asText());
        System.out.println("----------------");
    }