2015-11-04 77 views
0
WebDriverWait w = new WebDriverWait(driver, 10); 
w.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Credit Card"))); 

链接“信用卡”是一个用户界面选项卡。 我无法点击链接。 我会过时元素参考异常
enter image description here
的Html硒网页驱动程序陈旧的元素参考例外标签式UI

<div class="paymnt_nav" ng-show="$parent.mobileInfo.isMobile==false || closePaymentMode != true"> 
    <ul> 
    <li class="ng-hide" 
     ng-click="viewParams.webPaymentTabs='SC';resetCards('');removeBinOffer(true,true);checkOffer('storedCard',paymentMerchant.storeCardDTOList[0].cardToken,0,'',true);storeCardSelect();" 
     ng-show="viewParams.savedCards==true"> 

    <li class="ng-scope" 
     ng-if="paymentMerchant.paymentOption.cc !='-1' && paymentMerchant.paymentOption.cc !=null"> 
     <a class="''" 
     ng-class="{'active':viewParams.webPaymentTabs=='CC','':viewParams.webPaymentTabs!='CC'}" 
     ng-click="$parent.closePaymentMode = true;viewParams.webPaymentTabs='CC';paymentObject.paymentType='CC';resetCards('creditcard');removeBinOffer(true,true);handleSpecificConvenienceFee();_handlingCashBackScenario({})"> 
    </li> 

    <li class="ng-scope" 
     ng-if="paymentMerchant.paymentOption.db !='-1' && paymentMerchant.paymentOption.db !=null"> 

    <li class="ng-scope" 
     ng-click="$parent.closePaymentMode = true;viewParams.webPaymentTabs='NB';paymentObject.paymentType='NB';resetCards('netbanking');removeBinOffer(true,true);autoSelectNetBanking();_handlingCashBackScenario({});checkForNBStatus();" 
     ng-if="paymentMerchant.paymentOption.nb !='-1' && paymentMerchant.paymentOption.nb !=null"> 

    <li class="ng-scope" ng-if="paymentMerchant.loyltyEnabled==true"> 
    </ul> 
</div> 
+0

可以请你张贴该div的html代码部分?你是否也尝试增加等待时间?像30,60秒? –

+0

其中是linktext信用卡的href?在HTML? –

+0

请发布一些有效的HTML并正确格式化。另外,请显示实际进行点击的代码。 – JeffC

回答

0

你应该放置的ID对有目的的硒测试这些主要的UI元素。在DOM中查找链接文本不是很好的做法,可能会导致测试不稳定。尝试添加ID并通过ID查找元素。

+0

无法添加任何ID,因为它是第三方支付html页面 –

+0

因此,您正在编写第三方功能测试?您的测试边界应该始终停止向任何第三方传递。 – CaptainAdams

+0

这是问这个问题吗?不,不,不。如果你不能回答被问到的问题,那么根本不应答 – switch201

相关问题