2016-09-19 12 views
0

チェックアウトボタンに進むためのxpathを見つけるのに助けが必要です。これは私のHTMLです:ボタンのXpathが断続的に失敗する

<ul class="checkout-types"> 
 
<li> 
 
    <button type="button" title="Proceed to Checkout" class="button btn-proceed-checkout btn-checkout" onclick="window.location='http://www.utsavfashion.in/checkout/onepage/';"> 
 
    <span>Proceed to Checkout</span> 
 
    </button> 
 
</li> 
 
</ul>

私が試した:

driver.findElement(By.xpath(".//*[contains(@class, 'checkout-types')//*/li/contains(@title, 'Proceed to Checkout')]")) 
    .click(); 

driver.findElement(By.xpath(".//*/button[text()='Proceed to Checkout']")) 
    .click(); 

をしかし、両方のアプローチが断続的に/失敗働きます。

//button[contains(@class, 'btn-proceed-checkout')] 
//button[contains(@class, 'btn-proceed-checkout btn-checkout')] 
//button[contains(@class, 'btn-proceed-checkout')][contains(@onclick, 'checkout/onepage')]

答えて

1

はとBy.cssSelector()を使用してみてください:

のCss:

button.btn-proceed-checkout.btn-checkout 
button.btn-proceed-checkout[onclick*='checkout/onepage']

のXpath

+1

おかげSaurabh。その仕事 – AnkitSingh

0

これは

//*/button/*/span[text()='Proceed to Checkout'] 
0

あなたは、次のセレクタのいずれかを試すことができます試してみてください要素見えるまで待ち、次のようにクリックして有効にするには: -

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.btn-proceed-checkout[title='Proceed to Checkout']"))).click(); 
1

はこれを試してみてください。..

driver.findElement(By.xpath("//button[@class='button btn-proceed-checkout btn-checkout'][.//span[contains(text(), 'Proceed to Checkout')]]")).click();