Skip to content Skip to sidebar Skip to footer

Java How To Manipulate A Html Text Element With Dynamic Generated Name?

I want to manipulate or set text in a input type='text' tag on a website. But this input has a dynamic generated name on every load. How to get and manipulate this element in java?

Solution 1:

Yes, you should definitely use Jsoup.

With Jsoup, it should be as simple as this:

Document doc = Jsoup.connect(url).get();
System.out.println(doc.select("form[name=sform] > center > input").first());

This gets the first input element from the HTML which is a child of a centre element which is in a form element.

Which prints:

<inputtype="text" name="VHqnx63SwDau2nuNOOFRM2MCJ5sJawbpHv"class="form-control" value="" placeholder="Type Text here" style="width: 448px; text-align: center;">

Jsoup also offers lots of other cool stuff like directly getting or setting attributes, and lots more. So you could do:

Element e = doc.select("form[name=sform] > center > input").first();
e.attr("value", "Something");
System.out.println(e);

Which would print:

<inputtype="text" name="VHqnx63SwDau2nuNOOFRM2MCJ5sJawbpHv"class="form-control" value="Something" placeholder="Type Text here" style="width: 448px; text-align: center;">

With the value set to "Something".

Post a Comment for "Java How To Manipulate A Html Text Element With Dynamic Generated Name?"