感谢您查看我的查询。在网页上,有超过200个链接&我确保所有人都在工作。获取link
值后很容易,但问题是,&#39; href&#39;值不包含<a tabindex="8" title="Internal Crossload" target="_self" href="javascript:fnnHomePage('3' , 'WTMS_EXPRESS')"> - Internal Crossload </a>
而不是“javaScript函数”。这是一个来源
<Script>
/*********************************************************************
Function Name : fnnHomePage
Input Parameter(s) : transferTypeId
Output Parameter(s) : None
**********************************************************************/
function fnnHomePage(transferTypeId ,moduleName) {
if (moduleName == "XXX_EXPRESS")
{
document.getElementById("transferTypeId").value=transferTypeId;
document.getElementById("gadgetType").value="XXX_EXPRESS";
document.getElementById("moduleName").value="XXX_EXPRESS";
document.forms[0].action="/XXX/getProposalHomePage.do?transferTypeId="+transferTypeId;
document.forms[0].submit();
}
if (moduleName == "CROSSLOAD")
{
document.getElementById("transferTypeId").value=transferTypeId;
document.getElementById("gadgetType").value="CROSSLOAD";
document.getElementById("moduleName").value="CROSSLOAD";
document.forms[0].action="/XXX/getCrossLoadHomePage.do?transferTypeId="+transferTypeId;
document.forms[0].submit();
}
}
</Script>
JavaScript函数:
$(".acal-confirm").click(function(){
if($(this).val() == 'delete'){
if (!confirm("Delete all positions for this day?")){
return false;
}
}
if($(this).val() == 'publish'){
if (!confirm("Publish all positions for this day?")){
return false;
}
}
if($(this).val() == 'draft'){
if (!confirm("Save all positions for this day as a draft?")){
return false;
}
}
});
从上面的代码中,我如何获得&#39; 链接&#39;并检查它是否在selenium webdriver中正常工作?有几个链接&amp;每个人都会调用不同的JavaScript函数。任何建议都将受到赞赏。谢谢。
答案 0 :(得分:2)
您可以使用简单的技巧点击链接。它会将您重定向到javascript函数生成的新链接。然后,使用driver.getCurrentUrl();
获取链接,然后返回原始页面,照常完成您的工作。
我希望,这是有道理的。
答案 1 :(得分:-1)
以下是工作代码,您可以使用此代码查看控制台上的所有链接,还可以导航到所有链接:
driver.get("https://www.facebook.com");
List<WebElement> all_links_webpage = driver.findElements(By.tagName("xyz"));
System.out.println("Total no of links Available: " + all_links_webpage.size());
int links = all_links_webpage.size();
System.out.println("List of links Available: ");
for(int i=0;i<links;i++)
{
if(all_links_webpage.get(i).getAttribute("href").contains("google"))
{
String link = all_links_webpage.get(i).getAttribute("href");
System.out.println(link);
}
}
希望这能解决您的问题。