session token fix for captcha

This commit is contained in:
2026-10-09 12:39:32 +05:30
parent 385a9e22cc
commit d9218709f0
8 changed files with 76 additions and 23 deletions
+21 -10
View File
@@ -482,23 +482,34 @@ def open_trading_maintenance_page(driver, menu_xpath):
wait = WebDriverWait(driver, 20)
trading_maintenance = wait.until(
EC.presence_of_element_located((By.XPATH, Locator.tradingmaintenance))
)
driver.execute_script("arguments[0].scrollIntoView({block: 'center'});", trading_maintenance)
def visible_elements(xpath):
return [element for element in driver.find_elements(By.XPATH, xpath) if element.is_displayed()]
submenu = driver.find_elements(By.XPATH, menu_xpath)
submenu_visible = any(item.is_displayed() for item in submenu)
submenu_visible = any(
item.is_enabled() for item in visible_elements(menu_xpath)
)
if not submenu_visible:
maintenance_items = visible_elements(Locator.tradingmaintenance)
if not maintenance_items:
wait.until(lambda current_driver: visible_elements(Locator.tradingmaintenance))
maintenance_items = visible_elements(Locator.tradingmaintenance)
maintenance = maintenance_items[0]
driver.execute_script(
"arguments[0].scrollIntoView({block: 'center'});", maintenance
)
try:
wait.until(EC.element_to_be_clickable((By.XPATH, Locator.tradingmaintenance)))
trading_maintenance.click()
wait.until(lambda current_driver: maintenance.is_enabled())
maintenance.click()
except Exception:
driver.execute_script("arguments[0].click();", trading_maintenance)
driver.execute_script("arguments[0].click();", maintenance)
menu_item = wait.until(
EC.element_to_be_clickable((By.XPATH, menu_xpath))
lambda current_driver: next(
(item for item in visible_elements(menu_xpath) if item.is_enabled()),
False,
)
)
try:
menu_item.click()