HTML code:
<div id="sieb-ui-popup-mvg-selected" class="AppletStylePopup">
<form onsubmit="return false;" action="/ecom_enu/start.swe" method="post" name="SWEForm4_0">
<div class="siebui-popup-btm siebui-mvg-btn-modifier">
<span class="siebui-popup-button">
<button id="s_4_1_79_0_Ctrl" class="siebui-ctrl-btn siebui-icon-closeapplet s_4_1_79_0 appletButton" aria-label="Responsibilities:OK" title="Responsibilities:OK" tabindex="0" data-display="OK" name="s_4_1_79_0" type="button">
<span>OK</span>
</button>
</span>
</div>
</form>
</div>
我想点击“确定”按钮。请帮忙,谢谢!
我已尝试使用以下内容,但它不起作用。
driver.findElement(By.cssSelector(".siebui-ctrl-btn.siebui-icon-closeapplet.appletButton")).click();
也尝试过这个,它不起作用。
driver.findElement(By.xpath(".//*button[@title='Responsibilities:OK']/span[contains(text(),'OK]")).click();
也尝试了以下,它不起作用。
driver.findElement(By.xpath("//button[contains(span/text(), 'OK')]")).click();
也试过下面,它不起作用。发生超时错误
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("iframe-applicationname_ModalDialog_0"));
WebElement el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//span[contains(text(), 'OK')]")));
el.click();
driver.switchTo().defaultContent();
答案 0 :(得分:0)
尝试使用firebug
和firepath
添加firefox来获取xpath。你一定能解决你的问题。如果您不知道如何使用firebug捕获xpath,请参阅this链接,如有任何问题请告诉我。在捕获xpath
答案 1 :(得分:0)
请你试试以下方式 -
首先获取根元素并将其保存到WebElement对象。然后找到Ok按钮元素并单击。
WebElement elem = driver.findElement(By.cssSelector("#sieb-ui-popup-mvg-selected > form > div"));
makeWait(5); //Set any value you need for wait until appearing Ok Button
elem.findElement(By.cssSelector("button[type='button']")).click();
创建另一个本地或全局方法等待片刻
/*
* make some wait the execution
*/
public void makeWait(int waitForSecond)
{
try {
//Thread.sleep(1000 * waitForSecond);
Thread.currentThread().sleep(1000 * waitForSecond);
} catch (InterruptedException ie) {
System.out.println(ie.getMessage());
}
}
如果您不需要,也可以尝试删除makeWait()。可能它可能会有所帮助。
答案 2 :(得分:0)
请检查以下代码,这可能是有用的,
driver.findElement(By.xpath(".//*[contains(@class,'siebui-popup')]//span[text()='OK']")).click();
尝试在Mozilla中使用Firepath,以便通过检查CSS和XPATH的不同组合来获取正确的路径。它将为您提供使用选择器识别元素的正确概念。