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();
答
试试这个
//*/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();
感谢SAURABH。是工作 – AnkitSingh