我正在使用Perl和WWW::HtmlUnit库来访问以下站点:https://www.cnatra.navy.mil/scheds/schedule_data.aspx?sq=VT-7
我可以加载页面,点击“查看日程表”和“搜索”按钮,但我不能点击ctrl日历中的某一天。
我一直在研究click()函数,但是在调用这个函数之前,我必须将我想要单击的链接定义为一个元素。
你知道怎样才能让程序找到并点击这些链接吗?
这是来自网站的代码,描述了我想要点击的链接:
<td align="center" style="width:14%;">
<a href="javascript:__doPostBack('ctrlCalendar','4241')"
style="color:Black" title="August 12">12</a>
</td>下面是我将放入其中的简化代码:
use WWW::HtmlUnit;
use Inline::Java;
my $webClient = WWW::HtmlUnit->new;
$webClient->setUseInsecureSSL(1);
my $page = $webClient->getPage("https://www.cnatra.navy.mil/scheds
/schedule_data.aspx?sq=vt-7");
###define $daylink element here. This is the calendar link I want to click
my $sched = $daylink->click();
my $content = $sched->asXml;
print "\n$content\n\n";发布于 2011-08-31 05:02:37
由于表、TR/TD和链接都没有ID/名称,因此您需要通过属性搜索找到合适的元素。幸运的是,HTMLUnit提供了一个应用程序接口:getOneHtmlElementByAttribute。
尝试像这样的东西(没有测试,因为我没有访问权限)
my $ancestor = $page->getBody();
my $daylink = $ancestor->getOneHtmlElementByAttribute('a', 'title', 'August 12');https://stackoverflow.com/questions/7249420
复制相似问题