我正在编写脚本来测试Web门户。但是,我需要将所有协议更改为SMB Server才能进行测试。我需要使脚本只在存在时才单击按钮以更改为SMB服务器,就像它已经处于SMB Server模式时一样,该按钮不存在。
现在,我只编码了该部分,然后单击更改为SMB服务器模式。
这是我单击以更改为SMB服务器模式的代码:
driver.find_element_by_id("smb_server").click()
alert=driver.switch_to_alert()
alert.accept()
这是已更改为SMB服务器模式的html:
<span class="table-head">
Current Protocol
</span>
答案 0 :(得分:2)
您可以使用findElements代替findElement。这将返回未找到匹配项的空列表,从而可以避免出现异常。
Boolean isAvailable = driver.findElements(By.yourLocator).size() > 0
这是基于一个假设,即该按钮将存在/不存在,并且不会启用/禁用。
答案 1 :(得分:-1)
尝试以下操作(在Java中请更改为相应的语言):
Boolean isPresent = driver.findElements(By.id("your id")).size() > 0;
if(isPresent){
<click the button>
}
答案 2 :(得分:-1)
您可以测试该元素是否存在,然后单击它是否存在
button = driver.find_elements(By.ID, "smb_server")
if button
button[0].click()