如何在方法中创建方法以在Selenium中创建和单击Web元素

时间:2014-12-02 17:44:49

标签: java selenium

我正在尝试点击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的方法?    任何帮助都会很棒。

1 个答案:

答案 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