Python 3.x 如何确保脚本仅在按钮存在时单击?
我正在编写一个脚本来测试web门户。但是,我需要将所有协议更改为SMB服务器,以便执行测试。我需要使我的脚本仅在SMB服务器存在时才单击按钮更改为SMB服务器,因为当它已处于SMB服务器模式时,按钮不存在 现在,我只编写了要单击“更改为SMB服务器模式”的部分 这是我要单击以更改为SMB服务器模式的代码:Python 3.x 如何确保脚本仅在按钮存在时单击?,python-3.x,selenium,Python 3.x,Selenium,我正在编写一个脚本来测试web门户。但是,我需要将所有协议更改为SMB服务器,以便执行测试。我需要使我的脚本仅在SMB服务器存在时才单击按钮更改为SMB服务器,因为当它已处于SMB服务器模式时,按钮不存在 现在,我只编写了要单击“更改为SMB服务器模式”的部分 这是我要单击以更改为SMB服务器模式的代码: driver.find_element_by_id("smb_server").click() alert=driver.switch_to_alert() alert.
driver.find_element_by_id("smb_server").click()
alert=driver.switch_to_alert()
alert.accept()
这是更改为SMB服务器模式后的html:
<span class="table-head">
Current Protocol
</span>
现行协议
您可以使用findElement而不是findElement。这将返回一个未找到匹配项的空列表,以便避免出现异常
Boolean isAvailable = driver.findElements(By.yourLocator).size() > 0
这是一个假设,即按钮将存在/不存在,且未启用/禁用。请尝试以下内容(在java中,请更改为相应的语言):
Boolean isPresent=driver.findElements(By.id(“您的id”)).size()>0;
如果(显示){
}
您可以测试元素是否存在,然后单击它(如果存在)
button = driver.find_elements(By.ID, "smb_server")
if button
button[0].click()
请参阅更多信息,我正在使用Python Selenium编写脚本,布尔值下面似乎有一条红色下划线。我对Python和Selenium还不熟悉,不知道该如何解决回复太晚的问题。1.Python中没有布尔值。2.在python中,需要使用如下所示的find元素
driver.find_元素(By.XPATH,“//a”)
如果不是元素:
//列表为空,表示不存在任何元素如何将其更改为Python语言?很抱歉,我是新手,我似乎无法初始化对否决票的反馈?我解释了它的功能并提供了代码。
button = driver.find_elements(By.ID, "smb_server")
if button
button[0].click()