[英]Python-Selenium: Wait for an element to exist then return True or false
[英]Python while wait 100 seconds and return True or False
我下面有python腳本,該腳本檢查ping是否成功,如果在100秒內成功,它將返回True。 如果ping失敗,則應返回False,但不返回False,當ping成功時,它將返回True。
任何人都可以修復下面的代碼,為什么它不返回False
碼:
def ping(self,hostname):
time_check = datetime.now()
data = ""
while not "Success" in data:
time.sleep(1)
data = self.pingCheck("ping 10.10.10.1 count 5")
if (datetime.now()-time_check).seconds > 100:
return False
return True
以下代碼將為您工作:
import time
def ping(self, hostname, try_for=100):
t_end = time.time() + try_for
is_succeed = False
while time.time() < t_end or is_succeed:
time.sleep(1)
data = self.pingCheck("ping 10.10.10.1 count 5")
is_succeed = "Success" in data
return is_succeed
我已經將等待時間定義為名為try_for
參數,該參數的默認值設置為100
,但是您可以傳遞任何其他希望用於等待主機可用性的秒數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.