使用 HtmlUnit 添加和删除元素
Adding and removing elements with HtmlUnit
好吧,我想从我的学校网站上抓取一份 table,其中包含当天的日程安排。 table 根据您选择的 class 而变化,因此它使用 javascript 命令检查选择了哪个 class。我发现它是基于网站HTML代码中的这个列表:
<option selected="selected" value="52">1</option>
<option value="53">2</option>
<option value="54">3</option>
<option value="1">ז - 1</option>
<option value="2">ז - 2</option>
<option value="3">ז - 3</option>
<option value="4">ז - 4</option>
<option value="5">ז - 5</option>
<option value="6">ז - 6</option>
<option value="57">ז - 7</option>
<option value="9">ח - 1</option>
<option value="10">ח - 2</option>
<option value="11">ח - 3</option>
<option value="12">ח - 4</option>
<option value="13">ח - 5</option>
<option value="14">ח - 6</option>
<option value="15">ח - 7</option>
<option value="17">ט - 1</option>
<option value="18">ט - 2</option>
<option value="19">ט - 3</option>
<option value="20">ט - 4</option>
<option value="21">ט - 5</option>
<option value="22">ט - 6</option>
<option value="23">ט - 7</option>
<option value="26">י - 1</option>
<option value="27">י - 2</option>
<option value="28">י - 3</option>
<option value="29">י - 4</option>
<option value="30">י - 5</option>
<option value="31">י - 6</option>
<option value="32">יא - 1</option>
<option value="33">יא - 2</option>
<option value="34">יא - 3</option>
<option value="35">יא - 4</option>
<option value="36">יא - 5</option>
<option value="37">יא - 6</option>
<option value="38">יב - 1</option>
<option value="39">יב - 2</option>
<option value="40">יב - 3</option>
<option value="41">יב - 4</option>
<option value="42">יב - 5</option>
<option value="43">יב - 6</option>
<option value="56">יב - 7</option>
<option value="49">שכבה ז'</option>
<option value="50">שכבה ח'</option>
<option value="51">שכבה ט'</option>
<option value="48">שכבה י'</option>
<option value="46">שכבה י"א</option>
<option value="47">שכבה י"ב</option>
如您所见,所选选项有附加元素 <option selected="selected" value="52">1</option>
,称为 selected
基本上,我只想从一个选项元素中删除 selected
元素并将其移动到另一个选项元素,这将是我想要选择的 class。
这个'selected'没什么特别的;这就是 html 的工作方式 (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select)。顺便说一句,如果你喜欢抓取网页,一些 Html 的基本知识可能会有所帮助 :-)。
关于你的select:
- 您必须在页面内找到 select 控件 - 通常您有一个 HtmlPage 对象,并且您必须使用 selection 方法之一 HtmlUnit(http://htmlunit.sourceforge.net/gettingStarted.html) 找到 select 元素(不知道你的代码我不能更具体)
- 然后在select里面找到你喜欢的选项(HtmlOption)
- 最终为该选项调用 HtmlOption#setSelected(true)
好吧,我想从我的学校网站上抓取一份 table,其中包含当天的日程安排。 table 根据您选择的 class 而变化,因此它使用 javascript 命令检查选择了哪个 class。我发现它是基于网站HTML代码中的这个列表:
<option selected="selected" value="52">1</option>
<option value="53">2</option>
<option value="54">3</option>
<option value="1">ז - 1</option>
<option value="2">ז - 2</option>
<option value="3">ז - 3</option>
<option value="4">ז - 4</option>
<option value="5">ז - 5</option>
<option value="6">ז - 6</option>
<option value="57">ז - 7</option>
<option value="9">ח - 1</option>
<option value="10">ח - 2</option>
<option value="11">ח - 3</option>
<option value="12">ח - 4</option>
<option value="13">ח - 5</option>
<option value="14">ח - 6</option>
<option value="15">ח - 7</option>
<option value="17">ט - 1</option>
<option value="18">ט - 2</option>
<option value="19">ט - 3</option>
<option value="20">ט - 4</option>
<option value="21">ט - 5</option>
<option value="22">ט - 6</option>
<option value="23">ט - 7</option>
<option value="26">י - 1</option>
<option value="27">י - 2</option>
<option value="28">י - 3</option>
<option value="29">י - 4</option>
<option value="30">י - 5</option>
<option value="31">י - 6</option>
<option value="32">יא - 1</option>
<option value="33">יא - 2</option>
<option value="34">יא - 3</option>
<option value="35">יא - 4</option>
<option value="36">יא - 5</option>
<option value="37">יא - 6</option>
<option value="38">יב - 1</option>
<option value="39">יב - 2</option>
<option value="40">יב - 3</option>
<option value="41">יב - 4</option>
<option value="42">יב - 5</option>
<option value="43">יב - 6</option>
<option value="56">יב - 7</option>
<option value="49">שכבה ז'</option>
<option value="50">שכבה ח'</option>
<option value="51">שכבה ט'</option>
<option value="48">שכבה י'</option>
<option value="46">שכבה י"א</option>
<option value="47">שכבה י"ב</option>
如您所见,所选选项有附加元素 <option selected="selected" value="52">1</option>
,称为 selected
基本上,我只想从一个选项元素中删除 selected
元素并将其移动到另一个选项元素,这将是我想要选择的 class。
这个'selected'没什么特别的;这就是 html 的工作方式 (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select)。顺便说一句,如果你喜欢抓取网页,一些 Html 的基本知识可能会有所帮助 :-)。
关于你的select:
- 您必须在页面内找到 select 控件 - 通常您有一个 HtmlPage 对象,并且您必须使用 selection 方法之一 HtmlUnit(http://htmlunit.sourceforge.net/gettingStarted.html) 找到 select 元素(不知道你的代码我不能更具体)
- 然后在select里面找到你喜欢的选项(HtmlOption)
- 最终为该选项调用 HtmlOption#setSelected(true)