Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver 如何在cke编辑器中输入文本后单击“确定”按钮_Selenium Webdriver - Fatal编程技术网

Selenium webdriver 如何在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")));

我在操作cke编辑器时面临这个问题

请查找cke编辑器的图像:

我可以切换到编辑器并输入文本,但当我尝试单击“确定”按钮时出错

下面是我的代码:

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);