Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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
如何使用Java检查Selenium中的按钮是只读的还是启用的_Java_Selenium - Fatal编程技术网

如何使用Java检查Selenium中的按钮是只读的还是启用的

如何使用Java检查Selenium中的按钮是只读的还是启用的,java,selenium,Java,Selenium,我试图在页面中找到该按钮是只读还是启用(可单击)。在做了一些动作之后。我需要检查这个,如果其他条件,所以请帮助我找到解决方案 下面是我的按钮的html代码 当按钮为只读时 当按钮启用或可单击时 您必须使用isEnabled()方法 if(driver.findElement(By.id("agent_delete")).isEnabled()){ //button is enabled } else{ //button is not enabled } 您可以使用getAttribu

我试图在页面中找到该按钮是只读还是启用(可单击)。在做了一些动作之后。我需要检查这个,如果其他条件,所以请帮助我找到解决方案

下面是我的按钮的html代码

当按钮为只读时

当按钮启用或可单击时
您必须使用isEnabled()方法

if(driver.findElement(By.id("agent_delete")).isEnabled()){
   //button is enabled
}
else{
//button is not enabled
}

您可以使用
getAttribute
检查
disabled
属性:

WebElement element = driver.findElement(By.id("agent_delete"));
if("disabled".equals(element.getAttribute("disabled"))) {
  // disabled
} else {
  // enabled
}
或使用CSS选择器进行单个调用:

if(driver.findElements(By.cssSelector("#agent_delete[disabled='disabled']")).size > 0) {
  // disabled
} else {
  // enabled
}

我尝试在if条件中使用driver.findElement(By.id(“agent_delete”)).getAttribute(“disabled”).equals(true),然后尝试使用driver.findElement(By.id(“agent_delete”)。是否已启用(true)。但两者都不起作用。即使我尝试使用Xpath-->/div[contains(@disabled,'disabled')]和IsEnabled函数,我也没有尝试过。无论按钮状态如何,它都会通过“按钮启用”条件的真实条件no@florent两个解决方案都不工作无论按钮状态如何,它都会进入启用条件,这是else部分。如果您总是得到else语句,然后,在执行代码时,该元素不会被禁用。在检查禁用状态之前,可能需要等待状态或元素。但是如果没有一个可复制的例子,我也无能为力。但是为了你的理解,这个按钮将处于只读状态(没有完全从屏幕上禁用)。如果选择任何记录,则只读按钮将启用或可单击。
WebElement element = driver.findElement(By.id("agent_delete"));
if("disabled".equals(element.getAttribute("disabled"))) {
  // disabled
} else {
  // enabled
}
if(driver.findElements(By.cssSelector("#agent_delete[disabled='disabled']")).size > 0) {
  // disabled
} else {
  // enabled
}