似乎它应该是直截了当但我似乎无法深究它。
以下是我正在使用的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')”放入字符串中,并验证我的网址是否存在。
答案 0 :(得分:3)
你试过吗
my $returned_asset = $sel->find_element("//*[\@class='LINKlevel3']/a");
my $returned_URL = $returned_asset->Selenium::Remote::WebElement::get_attribute("href");