16

Here is my code to get the page:

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage(url);

The problem is the webClient always executes javascript automatically and throws me a list of error. I just want to get the raw source. How can I prevent it from executing script? I've found there is a way in version 2.9:

webClient.setJavaScriptEnabled(false);

But setJavaScriptEnabled() function was deprecated. Anyone knows how to solve this problem? Please help me. Thank you so much.

Triet Doan
  • 11,455
  • 8
  • 36
  • 69

1 Answers1

22

Although setJavaScriptEnabled(boolean) was deprecated it was added to the WebClientOptions member of the WebClient. Here is the doc.

In order to disable JavaScript you should do this:

webClient.getOptions().setJavaScriptEnabled(false);

Additionally, if you you want to get the raw HTML code from the webpage you should take a look at this question:

How to get the pure raw HTML of a page in HTMLUnit while ignoring JavaScript and CSS?

Take into account that even the asXml() method change the formatting as well as the content of the web page you fetch (even if JavaScript is disabled).

Community
  • 1
  • 1
Mosty Mostacho
  • 42,742
  • 16
  • 96
  • 123
  • Thank you! It really saves my day! But when I try to display the source as a part of my page in a `
    `, the browser will be "Not responding" for some source page. Do you have any idea why?
    – Triet Doan Nov 18 '13 at 11:43