即使禁用了元素,selenium click()方法也能正常工作

时间:2016-09-24 17:32:54

标签: javascript html selenium

点击禁用按钮时,Selenium没有出错。我想点击第一次点击后被禁用的WebElement Button = driver.findElement(By.id("xyz")); String ValueB4click = Button.getAttribute("value"); System.out.println("value = " + ValueB4click); Button.click(); System.out.println("Button got disabled"); System.out.println("Hitting button 2nd time"); Button.click(); //----> this line should give error as button got disabled for 30 seconds after 1st click. System.out.println("value of button after click"); String Valueafterclick = Button.getAttribute("value"); System.out.println("value = " + Valueafterclick); 元素。

场景:我正在尝试点击以及获取已禁用的元素的文本,并在第一次点击后更改其文本。

DROP PROCEDURE `sp_buscar`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_buscar`(IN `@buscar` VARCHAR(50) CHARSET utf8) NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER

SELECT idColono AS Folio, nombreColono as Nombre, CONCAT(apellidoP ,' ', apellidoM) as Apellido,  CONCAT(domicilio,'  ', numero) as Dirección,  numeroTel AS Telefono 
FROM cColonos 
WHERE domicilio LIKE CONCAT (@buscar, '%')

步骤如下:

  1. value =创建PDF
  2. 按钮被禁用
  3. 第二次按下按钮
  4. 点击后按钮的值
  5. value =创建PDF ...
  6. 而不是仅在第3行打印,然后在异常摘要之后打印。

2 个答案:

答案 0 :(得分:0)

不是简短的回答。 Selenium充当虚拟键盘&小鼠基本上。您只能在控制台上使用它,因此在禁用的元素上单击鼠标将无效。您将不得不以某种方式进入页面本身的HTML / JavaScript并重新启用按钮,以便Selenium发生任何事情。

答案 1 :(得分:0)

Selenium不会点击已停用的BUTTON。我想我会认为它会像你一样抛出一个异常,但我现在无法测试它。你可以做的是检查BUTTON,看看它是否在第一次点击后被禁用。

WebElement Button = driver.findElement(By.id("xyz"));
System.out.println("Value of button before click: " + Button.getAttribute("value"));
Button.click();
System.out.println("Button is disabled: " + Button.isDisabled());
System.out.println("Value of button after click: " + Button.getAttribute("value"));