一千萬個為什麽

搜索

JavascriptExecutor未標識要在Webdriver中單擊的按鈕

我有這個HTML

<div class="btnContr">    
  <input type="button" onclick="return cancel();" value="Cancel"/>

Below is the xpath identified, using this xpath, I am not able to click on the button.

Xpath=//div[@class='btnContr']/input[@onclick='return cancel();']

Code written:

JavascriptExecutor jse = (JavascriptExecutor)ff;
            jse.executeScript("document.getElement(By.xpath('//div[@class='btnContr']/input[@onclick='return cancel();']').click()");

What should my code be?

最佳答案

問題在於您使用引號 - 它們不正確匹配。由於您使用三個引號級別(圍繞document.getElement;在xpath周圍;對於屬性),您需要轉義一對。

jse.executeScript("document.getElement(By.xpath(\"//div[@class='btnContr']/input[@onclick='return cancel();']\").click()");

轉載註明原文: JavascriptExecutor未標識要在Webdriver中單擊的按鈕