对于javascript和selenium,我是新手。我已经创建了一个简单的添加到购物车项目,但我正在努力的那个我有一些麻烦。 HTML代码是:
<div class="buttons-set" id="shipping-method-buttons-container">
<button type="button" class="dark" onclick="shippingMethod.save()" onkeypress="shippingMethod.save()">Continue</button>
<span id="shipping-method-please-wait" class="please-wait icon icon--notch" style="display:none;">
Loading next step... </span>
</div>
无论如何我似乎无法弄清楚我可以点击“继续”按钮。我尝试了诸如
之类的东西driver.findElement(By.linkText("Continue")).click();
driver.findElement(By.xpath(//*[@id='shipping-method-buttons-container']/button)).click();
和许多其他组合,但似乎没有工作。
答案 0 :(得分:0)
尝试按类名获取元素:
driver.find_element_by_class_name("dark").click();
答案 1 :(得分:0)
我相信你已经使用过隐式等待。如果不是,我们需要添加它。
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
也可以在xpath下面试试。
driver.findElement(By.xpath("//button[contains(text(),'Continue']")).click();
希望这会有所帮助。感谢。
答案 2 :(得分:-1)
使用cssSelector
定位器尝试以下代码。
driver.findElement(By.cssSelector("button[class='dark'][type='button']")).click();
OR
尝试使用java-script
执行者单击按钮。
WebElement continue_button = driver.findElement(By.cssSelector("button[class='dark'][type='button']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", continue_button);