我正在尝试点击Selenium中的网络链接。 weblink已经在方法内部创建,但是在if else语句中无法访问,因此发生错误。
So what I have tried to do is create a new weblink that refers to the same piece of text. This piece of text is "View" which opens up a new table in the UI.
但是,为了创建这个webelement,我需要从参数中获取信息。这是在最初在方法中创建webelement时发生的情况。
这是代码
public void rejectOrRecallPayments(CreditTransferContext ct) {
listPayments.click();
if(isNotBlank(ct.getRecallReason()) || isNotBlank(ct.getRejectReason())) {
final WebElement viewLink = getViewLinkFromDisplayTable(resultTable,
ct.getOriginatorIBAN(), ct.getAmount());
System.out.println("ct.getOriginatorIBAN() is "+ct.getOriginatorIBAN());
System.out.println("ct.getAmount() is " +ct.getAmount());
if(isNotBlank(ct.getRecallReason())){
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//This is my attempt to create another "viewLink" in the if else statement
final WebElement viewLink2 = getViewLinkFromDisplayTable(resultTable, ct.getOriginatorIBAN(), ct.getAmount());
viewLink2.click();
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
recallPayment.click();
viewCTPage.recallCT().recallCT(ct);
}else if(isNotBlank(ct.getRejectReason())){
rejectPayment.click();
viewCTPage.rejectCT().reject(ct);
}
listPayments.click();
}
//}
}
基本上,如何在if else语句中创建Weblink。是否可以调用创建另一个相同的weblink的方法? 任何帮助都会很棒。
答案 0 :(得分:0)
这与Selenium无关,这纯粹是一个Java问题!
WebElement viewLink2;
if(...) {
viewLink2 = getViewLinkFromDisplayTable(resultTable, ct.getOriginatorIBAN(), ct.getAmount());
...
}
viewLink2.click() // or anything else you need to do with it