Selenium webdriver 如何在cke编辑器中输入文本后单击“确定”按钮
我在操作cke编辑器时面临这个问题 请查找cke编辑器的图像: 我可以切换到编辑器并输入文本,但当我尝试单击“确定”按钮时出错 下面是我的代码:Selenium webdriver 如何在cke编辑器中输入文本后单击“确定”按钮,selenium-webdriver,Selenium Webdriver,我在操作cke编辑器时面临这个问题 请查找cke编辑器的图像: 我可以切换到编辑器并输入文本,但当我尝试单击“确定”按钮时出错 下面是我的代码: WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe.cke_wysiwyg_frame.cke_reset")));
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe.cke_wysiwyg_frame.cke_reset")));
WebElement body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.tagName("body")));
body.sendKeys("Adding dummy product");
driver.switchTo().defaultContent();
WebElement element4 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//img[@alt='Ok']")));
element4.click();
以下是Ok按钮的HTML代码:
<a onclick="
try {valueSelectors['tile389'].submit(); }catch (e) {}; return false;"
id="tile392_0"
actionName="SET"
href="#" class="" ><img src="theme/configuratorSiemens/images/btn/btnSet.png" alt="Ok" title="Ok" />
</a>
谁能告诉我做这件事的正确方法是什么
如果需要更多的HTML,也请告诉我
请在下面找到CKE编辑器的HTML
谢谢。以上问题已通过以下代码解决:
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe.cke_wysiwyg_frame.cke_reset")));
WebElement body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.tagName("body")));
body.sendKeys(TestData.get("manPostn_desc"));
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
Thread.sleep(2000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
谢谢。您是否在Iframe内或主页上有“确定”按钮?它不在Iframe内。我已为cke编辑器添加了html。您是否可以添加
线程。睡眠(1000)driver.switchTo().defaultContent()之后的code>语句代码>看看是否有用。我试过了。但它不起作用。获取错误“无法使用By.xpath://img[@alt='Ok']找到元素”。
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe.cke_wysiwyg_frame.cke_reset")));
WebElement body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.tagName("body")));
body.sendKeys(TestData.get("manPostn_desc"));
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
Thread.sleep(2000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);