如何使用Perl的Remote :: Selenium :: WebElement来验证超链接带我到达的URL?

时间:2013-08-26 21:13:28

标签: perl xpath selenium webdriver

似乎它应该是直截了当但我似乎无法深究它。

以下是我正在使用的HTML:

<li id="a" class="FILElevel3" onclick="changeMenu("b")">
<a onclick="stopBubble(event);" href="javascript:LinkPopup('/sub/URL.html')">Visible Text</a>

我能够使用XPaths找到元素:

my $returned_asset = $sel->find_element("//*[\@class='LINKlevel3']");

我可以验证这是有效的,因为我能够从中提取可见文本:

my $returned_name = Selenium::Remote::WebElement::get_text($returned_asset);

我似乎无法找到从元素中提取HREF属性的序列,以将链接的URL放入可验证的字符串中。我应该能够使用WebElement的get_attribute()方法执行此操作吗?我尝试过这方面的变种:

my $returned_URL = $returned_asset-> Selenium::Remote::WebElement::get_attribute("a/href");

...在那里我插入了我能想到的所有“a / href”字符串。应该去哪里?

最后,我希望能够将“javascript:LinkPopup('/ sub / URL.html')”放入字符串中,并验证我的网址是否存在。

1 个答案:

答案 0 :(得分:3)

你试过吗

my $returned_asset = $sel->find_element("//*[\@class='LINKlevel3']/a");

my $returned_URL = $returned_asset->Selenium::Remote::WebElement::get_attribute("href");