Я использую winapp-драйвер с python для подключения беспроводного ssid в windows клиенте. Там я использую неявное и явное ожидание, но оба не работают. Кажется, что драйвер работает по умолчанию, даже если неявное ожидание установлено на 5 se c
def wait_until(self, element_type,element_name, parent=None, timeout=EXPLICIT_WAIT):
if parent is None:
parent = self.driver
try:
WebDriverWait(parent, timeout).until(EC.presence_of_element_located((eval("By." + element_type), element_name)))
return True
except Exception as e:
print(e)
return False
Вот как я использую функцию:
ntwrk_icn = self.driver.find_element_by_accessibility_id(NETWORK_ICON_ID)
start = time.time()
if self.wait_until("NAME", NETWORK_WINDOW, timeout=5):
print("Network window already opened, close and open again")
ntwrk_icn.click()
print("wait time")
print(time.time()-start)
Выполнение для этого шага также занимает 22 секунды. Неявное ожидание не работает. Для find_elements используется значение по умолчанию 30 секунд
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#init function
def __init__(self, driverIp, driverPort=4723):
self.server_address = 'http://{}:{}/wd/hub'.format(driverIp, str(driverPort))
desired_caps = {}
desired_caps["app"] = "Root"
self.driver = webdriver.Remote(command_executor=self.server_address, desired_capabilities= desired_caps)
self.driver.implicitly_wait(IMPLICIT_WAIT)