I have an application which keeps showing dialog box message to click on continue button Below is code to continue session it keeps coming every minute or so and then which keeps annoying me. so I can work on application without any interruptions. so, I wrote this to automate. it's failing to locate this element and also I tried commented part #EC.alert_is_present() and #browser.switch_to().alert().accept() neither of these two is working for me. however, it logs in without any issues but fails to click on dialog box continue button which keeps coming time to time. please help me with this.
HTML:
<span class="dijitReset dijitInline dijitButtonText" id="confirmInforDialogActionOk_label" data-dojo-attach-point="containerNode">Continue</span>
Code trials:
from selenium 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
from datetime import datetime
from selenium.common.exceptions import TimeoutException
browser = webdriver.Chrome(executable_path=r'D:\Jake\Python\chromedriver.exe')
browser.get('https://testtest.com/');
browser.maximize_window()
browser.find_element_by_name('j_username').send_keys('Jake')
browser.find_element_by_name('j_password').send_keys('Jake@123')
browser.find_element_by_xpath("//a[@class='btn btn-primary btn-block']").click()
App_loaded_one = WebDriverWait(browser,180).until (
EC.presence_of_element_located((By.ID, "userAvatarMenu"))
)
def alertpresent():
App_loaded = WebDriverWait(browser,300).until (
#EC.alert_is_present()
EC.presence_of_element_located((By.ID, 'onfirmInforDialogActionOk_label'))
)
#browser.switch_to().alert().accept()
browser.find_elements_by_id('onfirmInforDialogActionOk_label').click()
print ("Clicked dialog");
print (datetime.now())
while True:
alertpresent()
I get this below message in command prompt-
> DevTools listening on
> ws://127.0.0.1:53745/devtools/browser/59aa8b6e-1dee-458e-afa5-653052f266aa
> Traceback (most recent call last): File
> "C:\Users\Jake\Desktop\Instances\test.py", line 32, in <module>
> alertpresent() File "C:\Users\Jake\Desktop\Instances\test.py", line 22, in alertpresent
> EC.presence_of_element_located((By.ID, 'onfirmInforDialogActionOk_label')) File
> "C:\Users\Jake\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\support\wait.py",
> line 80, in until
> raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: