我在jython中使用htmlunit,并且无法选择下拉链接。我要去的网页有一个带有其他ajax链接的表格,我可以点击它们并移动,看起来没问题,但我似乎无法弄清楚如何点击一个允许更多链接的下拉菜单(这个pulldown会影响ajax表,所以它不会重定向我或任何东西)。在htmlunit中选择下拉菜单
这里是我的代码:
selectField1 = page.getElementById("pageNumSelection")
options2 = selectField1.getOptions()
theOption3 = options2[4]
这得到我想要的选项,我验证其右。所以我选择它。
MoreOnPage = selectField1.setSelectedAttribute(theOption3, True)
,我坚持在这里(不知道如果选择它工作与否,因为我没有得到任何消息,但我不知道下一步该怎么做我如何刷新该页面看到更大的列表?当点击链接时,你所要做的就是找到链接,然后选择linkNameVariable.click()到一个变量,它的工作原理,但我不知道如何刷新下拉。尝试使用Web客户端来创建基于选择变量的XML页面,我仍然得到旧的一页。
,使其更容易一点,我用的HtmlUnit编剧并得到了一些代码,应该工作,但它的Java和我不知道如何将它移植到jython。它是这样的:
try
{
page = webClient.getPage(url);
HtmlSelect selectField1 = (HtmlSelect) page.getElementById("pageNumSelection");
List<HtmlOption> options2 = selectField1.getOptions();
HtmlOption theOption3 = null;
for(HtmlOption option: options2)
{
if(option.getText().equals("100"))
{
theOption3 = option;
break;
}
}
selectField1.setSelectedAttribute(theOption3, true);
感谢您的回复Bennettweb。我研究了Selenium,但它似乎并没有头脑,我正在无头的Linux环境中运行它。 – Lostsoul 2011-03-24 03:37:51
您仍然可以在您的linux无头环境中以无头模式运行Firefox,方法是指定要连接的虚拟显示器。然后,您可以使用WebDriver作为连接到Firefox的其他一些答案中的提及。 – 2013-02-27 11:11:06