2015-12-21 3 views
0

Как щелкнуть текст ссылки в iframe?Как нажимать текст ссылки в selenium webdriver

<iframe id="PaymentFrame" src="http:///AccolentMVC/PaymentGW/payment?0JcINmGD1R3z/YV2fWT/YVRV8qXMPwXxer0Q634aBlT+KRL1LNdyEQtXL0MBOTXGTGdIM+NM/orGjrTKXS3tb5d5HG/6tUtND0JSdhGoAe1Ugk+kk81jR93x7u9aYYRdkluT3xDvNpoaKCaa0XMDmbJ1eFqMx7+7lw7PuFmXcXK5BO9NMUQspCPPIAPTmFJybBBHw4p2L+aHYTEA+FwZ0LTujo+wnhbQZL1qsoB9+xWSw/NOjHb/l+sfmmeMAcrO6SRl6/Rd2aY=" style="overflow:hidden;width:100%;height:475px" frameborder="0"></iframe> 
 
<html><head> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title></title> 
 
<aside> 
 
    <fieldset id="navcontainer"> 
 
     <legend><div style="color:#A20F00;font-size:18px;font-weight:bold">Payment Methods</div></legend> 
 
     <div align="center" style="margin:10px;font-size:16;font-weight:bold;">    
 
      <p> 
 
     Select payment method:  </p> 
 
      <ul>   
 

 
      <li style="list-style-type:circle;width:80px;margin:10px;font-size:16;"><a href="/AccolentMVC/PaymentGW/UserData/1?key=Google%20Wallet&amp;key1=Google%20Wallet">Google Wallet</a></li> 
 
      <li style="list-style-type:circle;width:80px;margin:10px;font-size:16;"><a href="/AccolentMVC/PaymentGW/UserData/1?key=gwAuthorizeNet&amp;key1=AuthorizeNet">AuthorizeNet</a></li> 
 
    </ul> 
 
     </div> 
 
    </fieldset> 
 
</aside> 
 
    </div>

Мы используем этот код и он не щелкает текст Link:

driver.switchTo().defaultContent(); 
    //driver.switchTo().frame(driver.findElement(By.id("PaymentFrame"))); 
    driver.findElement(By.linkText("Google Wallet")).click(); 
+0

Am получает эту ошибку: Не удалось найти элемент: { «метод»: «частичный текст ссылки», «селектор»: «Google»} –

+0

Вы должны сначала переключиться в кадре не по умолчанию содержимого. –

+0

Как получить переключатель в фрейм с использованием (driver.switchTo(). Frame (driver.findElement (By.id («PaymentFrame»)));) this not found –

ответ

0

Попробуйте использовать XPATH.

Использование ниже кода нажмите на ссылку:

driver.switchTo().defaultContent(); 
driver.switchTo().frame(driver.findElement(By.id("PaymentFrame"))); 
driver.findElement(By.xpath("\\a[contains(text(),'Google Wallet')]"); 
0

«Google Кошелек» не присутствует в IFRAME в приведенном выше HTML образца. Вы можете найти его, используя простой xpath, как показано ниже.

driver.findElement(By.xpath("//a[text()='Google Wallet']"); 
Смежные вопросы