Javascript Can';用selenium单击按钮
谈到javascript和selenium,我是个新手。我已经创建了一个简单的“添加到购物车”项目,但我目前正在处理的那个项目遇到了一些问题。HTML代码是:Javascript Can';用selenium单击按钮,javascript,jquery,html,css,selenium,Javascript,Jquery,Html,Css,Selenium,谈到javascript和selenium,我是个新手。我已经创建了一个简单的“添加到购物车”项目,但我目前正在处理的那个项目遇到了一些问题。HTML代码是: <div class="buttons-set" id="shipping-method-buttons-container"> <button type="button" class="dark" onclick="shippingMethod.save()" onkeypress="shippingMethod.sa
<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.find_element_by_class_name("dark").click();
我相信你用了含蓄的等待。如果不是,我们需要添加它
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
也可以在下面的xpath中尝试
driver.findElement(By.xpath("//button[contains(text(),'Continue']")).click();
希望这有帮助。谢谢。使用
css选择器
定位器尝试下面的代码
driver.findElement(By.cssSelector("button[class='dark'][type='button']")).click();
或
尝试使用java脚本
executor单击该按钮
WebElement continue_button = driver.findElement(By.cssSelector("button[class='dark'][type='button']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", continue_button);
我也尝试过这种方法,但仍然没有反应。HTML代码中有多个名为“dark”的类,我不确定这是否起作用。有没有理由否决这个答案?
WebElement continue_button = driver.findElement(By.cssSelector("button[class='dark'][type='button']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", continue_button);