Xpath按钮失败间歇

问题描述:

我需要一个帮助来找到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(); 

但这两种方法间歇性地工作/失败。

与尝试使用等到元素可见,使以如下点击: -

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

感谢SAURABH。是工作 – AnkitSingh

试试这个

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

你可以尝试以下选择之一:

的CSS:

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

的Xpath:

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

试试这个..

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