SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.56k stars 8.17k forks source link

[🐛 Bug]: Suddenly driver stopped working #12795

Closed Yadav420dilip closed 1 year ago

Yadav420dilip commented 1 year ago

What happened?

There is long running process which I have automated using python selenium web driver. I take usually 20 to 30 minutes to complete all the process. Most of time when drive suddenly stopped working I am getting any one of the error from given below.

How can we reproduce the issue?

I can share you the code.

import os
import sys
import time
import shutil
import datetime
from datetime import timedelta
from selenium import webdriver
from selenium.common.exceptions import NoAlertPresentException, TimeoutException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait, Select
from selenium.webdriver.support import expected_conditions as EC
from . import MAKER_USER, MAKER_PASSWORD, CHECKER_USER, CHECKER_PASSWORD
from . import logger, conf, BASE_DIR, PATH_DOWNLOAD, LOG_IMG, F_RCL_RE

def get_t_date():
    t_date = datetime.date.today()
    # t_date = datetime.datetime.strptime('13/06/2023', "%d/%m/%Y")
    t_date = t_date.strftime('%d/%m/%Y')
    return t_date

def get_t_plus_date():
    t_date = datetime.date.today()
    # t_date = datetime.datetime.strptime('13/06/2023', "%d/%m/%Y")
    t_plus_date = t_date + timedelta(days=1)
    t_plus_date = t_plus_date.strftime('%d/%m/%Y')
    return t_plus_date

def zip_files():
    logger.info('-------------------------Enter into zip_files method---------------------------')
    archived = shutil.make_archive(os.path.join(PATH_DOWNLOAD, "log images"), 'zip', LOG_IMG)
    if os.path.exists(os.path.join(PATH_DOWNLOAD, "log images.zip")):
        return archived

    logger.info('-------------------------Exit from zip_files method---------------------------')

def upload_wi_file(driver, F_WI):
    logger.info('----------------------Enter into upload_wi_file method----------------------')
    URL_WI = conf.get('Website', 'url_upload_wi')
    driver.get(URL_WI)

    upload_el = driver.find_element(By.NAME, 'filepath')
    upload_el.send_keys(os.path.join(PATH_DOWNLOAD, F_WI + '.CSV'))
    driver.find_element(By.NAME, 'submit').click()

    time.sleep(1)

    search_btn = driver.find_element(By.XPATH, '//img[@alt=\'Mapping id List\']')
    search_btn.click()
    driver.switch_to.window(driver.window_handles[-1])
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '1017'))).click()
    driver.switch_to.window(driver.window_handles[0])
    driver.find_element(By.NAME, 'submit').click()

    time.sleep(1)

    WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
        (By.XPATH, str('//a[@href="javascript:onClkLink(\'S\',\'DataUploadProcessLog_1017\');"]')))).click()

    time.sleep(1)

    driver.find_element(By.NAME, 'button.View').click()

    map_id2 = driver.find_element(By.XPATH, '//img[@alt=\'Mapping id List\']')
    map_id2.click()
    driver.switch_to.window(driver.window_handles[-1])
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '1017'))).click()
    driver.switch_to.window(driver.window_handles[0])
    driver.find_element(By.NAME, 'submit').click()
    driver.find_element(By.NAME, 'authAll').click()
    driver.find_element(By.NAME, 'authorized').click()

    driver.save_screenshot(os.path.join(LOG_IMG, '1_WI.png'))

    logger.info('----------------------Exit from upload_wi_file method----------------------')

def upload_wx_file(driver, F_WX):
    logger.info("-----------------------Enter into upload_wx_file method---------------------")

    URL_WX = conf.get('Website', 'url_upload_wx')

    driver.get(URL_WX)

    asondate = driver.find_element(By.NAME, 'asondate')
    asondate.clear()
    asondate.send_keys(get_t_date())
    time.sleep(1)
    file = driver.find_element(By.NAME, 'fileName')
    file.send_keys(os.path.join(PATH_DOWNLOAD, F_WX + '.CSV'))
    search_btn = driver.find_element(By.XPATH, '//img[@alt=\'Group List\']')
    search_btn.click()
    driver.switch_to.window(driver.window_handles[-1])
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '1028'))).click()
    driver.switch_to.window(driver.window_handles[0])
    driver.find_element(By.NAME, 'submit').click()

    time.sleep(1)
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
        (By.XPATH, str('//a[@href="javascript:onClkLink(\'S\',\'VidalCorpActionUploadProcessLog\');"]')))).click()
    # success_status = driver.find_element(By.XPATH,
    #                                      str('//a[@href="javascript:onClkLink(\'S\',\'VidalCorpActionUploadProcessLog\');"]'))
    # driver.save_screenshot("WX1.png")
    # success_status.click()
    driver.save_screenshot(os.path.join(LOG_IMG, '2_WX.png'))

    logger.info("-----------------------Exit from upload_wx_file method---------------------")

def authorize_wx(driver):
    logger.info('----------------------Enter into authorize_wx method----------------------')

    URL_AUTHORIZE = conf.get('Website', 'url_authorize_wx')
    driver.get(URL_AUTHORIZE)

    as_on_date = driver.find_element(By.NAME, 'headerdate')
    as_on_date.clear()
    as_on_date.send_keys(get_t_date())
    driver.find_element(By.NAME, 'save').click()

    driver.find_element(By.NAME, 'allselect').click()
    driver.save_screenshot(os.path.join(LOG_IMG, "3_all select_authorize_WX.png"))
    driver.find_element(By.NAME, 'save').click()

    driver.save_screenshot(os.path.join(LOG_IMG, "3_authorize_WX.png"))

    # To verify the process
    driver.get(URL_AUTHORIZE)

    as_on_date = driver.find_element(By.NAME, 'headerdate')
    as_on_date.clear()
    as_on_date.send_keys(get_t_date())
    driver.find_element(By.NAME, 'save').click()
    driver.save_screenshot(os.path.join(LOG_IMG, "3_verification.png"))

    logger.info('----------------------Exit from authorize_wx method----------------------')

def corporate_batch_run(driver):
    logger.info('----------------------Enter into corporate_batch_run method----------------------')
    URL_BATCH_RUN = conf.get('Website', 'url_batch_run')
    driver.get(URL_BATCH_RUN)
    driver.find_element(By.NAME, 'submit').click()
    WebDriverWait(driver, 6000, poll_frequency=5).until_not(
        EC.presence_of_element_located((By.XPATH, '//img[@alt="Wait"]')))
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, '4_CORPORATE.png'))

    logger.info('----------------------Exit from corporate_batch_run method----------------------')

def upload_we_file(driver, F_WE):
    logger.info('----------------------Enter into upload_we_file method----------------------')

    URl_WE = conf.get('Website', 'url_upload_we')
    driver.get(URl_WE)

    file = driver.find_element(By.NAME, 'filepath')
    file.send_keys(os.path.join(PATH_DOWNLOAD, F_WE + '.CSV'))
    driver.find_element(By.NAME, 'submit').click()
    time.sleep(1)

    driver.find_element(By.XPATH, '//img[@alt=\'Group List\']').click()
    driver.switch_to.window(driver.window_handles[-1])
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '38'))).click()
    driver.switch_to.window(driver.window_handles[0])
    driver.find_element(By.NAME, 'temp').click()
    time.sleep(1)
    try:
        if EC.alert_is_present():
            alert = driver.switch_to.alert
            alert.accept()
    except NoAlertPresentException as e:
        logger.error(e)

    time.sleep(2)

    WebDriverWait(driver, 300).until_not(EC.presence_of_element_located((By.XPATH,
                                                                         str('//img[@alt="Wait"]'))))

    time.sleep(2)
    success_btn = driver.find_element(By.XPATH,
                                      str('//a[@href="javascript:onClkLink(\'S\',\'PriceUploadProcessLog_38\');"]'))

    driver.save_screenshot(os.path.join(LOG_IMG, "WE.png"))
    success_btn.click()

    # print("Befor the link")
    # WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
    #     (By.XPATH, str('//a[@href="javascript:onClkLink(\'S\',\'PriceUploadProcessLog_38\');"]')))).click()

    driver.save_screenshot(os.path.join(LOG_IMG, "5_WE.png"))

    logger.info('----------------------Exit from upload_we_file method----------------------')

def upload_price_file(driver, F_PRICE):
    logger.info('----------------------Enter into upload_price_file method----------------------')
    print(os.path.join(PATH_DOWNLOAD, F_PRICE + '.CSV'))
    URl_PRICE = conf.get('Website', 'url_price_file')
    driver.get(URl_PRICE)

    file = driver.find_element(By.NAME, 'filepath')
    file.send_keys(os.path.join(PATH_DOWNLOAD, F_PRICE + '.xls'))
    driver.find_element(By.NAME, 'submit').click()

    driver.find_element(By.XPATH, '//img[@alt=\'Group List\']').click()
    driver.switch_to.window(driver.window_handles[-1])
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '21'))).click()
    driver.switch_to.window(driver.window_handles[0])
    driver.find_element(By.NAME, 'temp').click()
    time.sleep(1)
    try:
        if EC.alert_is_present():
            alert = driver.switch_to.alert
            alert.accept()
    except NoAlertPresentException as e:
        logger.error(e)

    time.sleep(2)
    # success_btn = driver.find_element(By.XPATH,
    #                                   str('//a[@href="javascript:onClkLink(\'S\',\'PriceUploadProcessLog_38\');"]'))
    #
    # success_btn.click()
    WebDriverWait(driver, 120).until_not(EC.presence_of_element_located((By.XPATH,
                                                                         str('//img[@alt="Wait"]'))))

    time.sleep(2)
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
        (By.XPATH, str('//a[@href="javascript:onClkLink(\'S\',\'PriceUploadProcessLog_21\');"]')))).click()

    driver.save_screenshot(os.path.join(LOG_IMG, "6_Price file.png"))

    logger.info('----------------------Exit from upload_price_file method----------------------')

def price_verification(driver):
    logger.info("-------------------Enter into price_verification method-----------------------------")
    driver.get(conf.get('Website', 'url_price_verify'))

    curr_date = driver.find_element(By.NAME, 'curdate')
    curr_date.clear()
    curr_date.send_keys(get_t_date())

    select = Select(driver.find_element(By.NAME, 'priceSource'))
    select.select_by_value('Exchg1_price')
    driver.find_element(By.NAME, 'submitBtn').click()

    driver.save_screenshot(os.path.join(LOG_IMG, "7_Price Verification NSE Top.png"))
    driver.find_element(By.TAG_NAME, 'html').send_keys(Keys.END)
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, "7_Price Verification NSE Bottom.png"))

    curr_date = driver.find_element(By.NAME, 'curdate')
    curr_date.clear()
    curr_date.send_keys(get_t_date())
    select = Select(driver.find_element(By.NAME, 'priceSource'))
    select.select_by_value('Exchg2_price')
    driver.find_element(By.NAME, 'submitBtn').click()

    driver.save_screenshot(os.path.join(LOG_IMG, '7_Price Verification BSE Top.png'))
    driver.find_element(By.TAG_NAME, 'html').send_keys(Keys.END)
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, '7_Price Verification BSE bottom.png'))
    # WebDriverWait(driver, 120).until(EC.presence_of_element_located((By.ID, 'nony')))
    # time.sleep(10)
    # ss.full_screenshot(driver, save_path=LOG_IMG, image_name="_Price Verification BSE.png", load_wait_time=2)

    logger.info("-------------------Exit from price_verification method-----------------------------")

def deal_posting_summary(driver):
    logger.info('-----------------Enter into deal_posting_summary method--------------------')

    driver.get(conf.get('Website', 'url_deal_posting'))

    dealtype = Select(driver.find_element(By.NAME, 'dealType'))
    dealtype.select_by_value('C')

    posting_status = Select(driver.find_element(By.NAME, 'postingStatus'))
    posting_status.select_by_value('2')

    driver.find_element(By.NAME, 'submit').click()

    driver.save_screenshot(os.path.join(LOG_IMG, "8_deal_posting_summary.png"))

    logger.info('-----------------Exit from deal_posting_summary method--------------------')

    if "No Records Found for Posted Deals." in driver.page_source:
        return True
    else:
        return False

def mom(driver):
    logger.info('---------------------Enter into mom method---------------------------')
    driver.get(conf.get('Website', 'url_mom'))

    driver.find_element(By.NAME, 'submit').click()
    time.sleep(1)
    WebDriverWait(driver, 1800).until_not(EC.presence_of_element_located((By.XPATH, '//img[@alt=\'Running\']')))
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, "9_mom.png"))

    logger.info('---------------------Exit from mom method---------------------------')

def last_data_update(drive: webdriver.Chrome):
    logger.info('----------------------Enter into last_data_update method---------------------')

    drive.get(conf.get('Website', 'url_last_data_update'))

    note = drive.find_element(By.NAME, 'note')
    note.clear()
    note.send_keys(f'Last date {get_t_date()}')
    last_date = drive.find_element(By.NAME, 'lastDate')
    last_date.clear()
    last_date.send_keys(get_t_date())
    res_date = drive.find_element(By.NAME, 'resDate')
    res_date.clear()
    res_date.send_keys(get_t_date())
    drive.find_element(By.NAME, 'submit').click()
    time.sleep(2)
    drive.save_screenshot(os.path.join(LOG_IMG, "10_last_data_update.png"))

    logger.info('----------------------Exit from last_data_update method---------------------')

def funds_acc_alc_rgf(driver):
    logger.info('-------------------Enter into funds_acc_alc_rgf method---------------------')

    driver.get(conf.get('Website', 'url_funds_acc_alc_rgf'))
    time.sleep(2)
    base_fund = Select(driver.find_element(By.NAME, 'baseFundId'))
    base_fund.select_by_value('7400000')

    fdate = driver.find_element(By.NAME, 'fdate2')
    fdate.clear()
    fdate.send_keys(get_t_date())
    tdate = driver.find_element(By.NAME, 'todate2')
    tdate.clear()
    tdate.send_keys(get_t_date())
    time.sleep(5)
    driver.find_element(By.NAME, 'submit').click()
    time.sleep(1)
    WebDriverWait(driver, 240).until_not(EC.presence_of_element_located((By.XPATH, '//img[@alt=\'Running\']')))

    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, '11_funds_acc_alc_rgf.png'))

    logger.info('-------------------Exit from funds_acc_alc_rgf method---------------------')

def txn_reconciliation(driver):
    logger.info('-----------------Enter into txn_reconciliation method------------------')

    try:
        driver.get(conf.get('Website', 'url_txn_reconciliation'))
        driver.find_element(By.NAME, 'submit').click()

        WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Show Report'))).click()

        driver.save_screenshot(os.path.join(LOG_IMG, '12_txn_reconciliation.png'))

        while not os.path.exists(os.path.join(PATH_DOWNLOAD, F_RCL_RE)):
            time.sleep(1)

    except TimeoutException as e:
        print(e)
        logger.error(e)

    except Exception as e:
        logger.error(e)
        # shutil.copy(os.path.join(PATH_DOWNLOAD, F_RCL_RE), LOG_IMG)

    logger.info('-----------------Exit from txn_reconciliation method-------------------')

def non(driver):
    logger.info('------------------Enter into non method-------------------------')
    driver.get(conf.get('Website', 'url_non'))
    asondate = driver.find_element(By.NAME, 'asondate')
    asondate.clear()
    asondate.send_keys(get_t_plus_date())
    driver.find_element(By.NAME, 'sub').click()

    WebDriverWait(driver, 300).until_not(EC.presence_of_element_located((By.XPATH, '//img[@alt=\'Wait\']')))
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, '13_non.png'))

    logger.info('------------------Exit from non method-------------------------')

def non_saleable_holding(driver):
    logger.info('------------------Enter into non_saleable_holding method-------------------------')
    driver.get(conf.get('Website', 'url_non_saleable_holding'))
    asondate = driver.find_element(By.NAME, 'asondate')
    asondate.clear()
    asondate.send_keys(get_t_plus_date())

    process = Select(driver.find_element(By.NAME, 'option'))
    process.select_by_value('S')
    driver.find_element(By.NAME, 'sub').click()

    WebDriverWait(driver, 600).until_not(EC.presence_of_element_located((By.XPATH, '//img[@alt=\'Wait\']')))
    time.sleep(1)
    driver.save_screenshot(os.path.join(LOG_IMG, '14_non_saleable_holding.png'))

    logger.info('------------------Exit from non_saleable_holding method-------------------------')

def Website_synchronize(driver):
    logger.info('-------------------Enter into Website_synchronize method------------------')
    driver.get(conf.get('Website', 'url_Website_synchronization'))

    driver.find_element(By.XPATH, '//input[@value=\'Compare and Synchronize\']').click()
    WebDriverWait(driver, 300).until_not(EC.presence_of_element_located((By.XPATH, '//img[@alt=\'Wait\']')))

    complete = driver.find_element(By.XPATH, '//img[@alt=\'Completed\']')
    driver.save_screenshot(os.path.join(LOG_IMG, '15_1_Website_synchronize.png'))
    time.sleep(1)
    complete.click()

    driver.save_screenshot(os.path.join(LOG_IMG, '15_2_Website_synchronize.png'))
    logger.info('-------------------Exit from Website_synchronize method------------------')

def close_all_tabs(driver):
    logger.info("-------------------------Enter into close_all_tabs method------------------")

    driver.get(conf.get("Website", "url_log_off"))
    alltabs = driver.window_handles
    for i in range(len(alltabs)):
        driver.switch_to.window(alltabs[i])
        driver.close()
        time.sleep(1)

    driver.quit()

    logger.info("-------------------------Exit from close_all_tabs method------------------")

def login_user(username, password):
    logger.info("-------------------------Enter into login_user method------------------")

    chrome_driver_path = os.path.join(BASE_DIR, 'chrome_drive', 'chromedriver')
    opt1 = webdriver.ChromeOptions()
    opt1.add_experimental_option('prefs', {"download.default_directory": PATH_DOWNLOAD,
                                           "download.prompt_for_download": False,
                                           "download.directory_upgrade": True,
                                           "plugins.always_open_pdf_externally": True})
    opt1.add_experimental_option('excludeSwitches', ['enable-logging'])
    opt1.headless = True
    opt1.add_argument('--disable-gpu')
    opt1.add_argument('--no-sandbox')
    opt1.add_argument('--disable-extensions')
    opt1.add_argument('--disable-dev-shm-usage')
    opt1.add_argument("--disable-setuid-sandbox")

    driver = webdriver.Chrome(fr"{chrome_driver_path}", chrome_options=opt1)
    driver.set_page_load_timeout(600)
    driver.implicitly_wait(10)
    driver.delete_all_cookies()
    # opening the website  in chrome.
    driver.maximize_window()
    driver.get(conf.get("Website", "url_login"))

    # find the id or name or class of
    # username by inspecting on username input
    # driver.find_element(By.ID, "userid").send_keys(username)
    driver.find_element(By.NAME, "j_username").send_keys(username)
    # find the password by inspecting on password input
    driver.find_element(By.NAME, "j_password").send_keys(password)
    driver.find_element(By.NAME, "submitBtn").click()
    # Login is done, now the below block of code will open up client master

    # If session is active then check for alert and accept it
    try:
        # If session is active then check for alert and accept it
        if EC.alert_is_present() != False:
            alert = driver.switch_to.alert
            alert.accept()
    except Exception as e:
        logger.error(str(e))

    # finally:
    logger.info("-------------------------Exit from login_user method------------------")
    return driver

def start_bot(is_weekend_run=None):
    logger.info("------Enter into start bot method-------")
    try:
        t_date = datetime.date.today().strftime('%d%m%y')
        # t_date = '130623'
        F_WX = 'WX' + t_date
        F_WI = 'WI' + t_date
        F_WE = 'WE' + t_date
        F_PRICE = "TR PRICE FILE " + t_date

        if is_weekend_run == 'yes' and is_weekend_run is not None:
            driver = login_user(MAKER_USER, MAKER_PASSWORD)
            mom(driver)
            last_data_update(driver)
            funds_acc_alc_rgf(driver)
            txn_reconciliation(driver)
            if not os.path.exists(os.path.join(PATH_DOWNLOAD, F_RCL_RE)):
                close_all_tabs(driver)
                new_driver = login_user(MAKER_USER, MAKER_PASSWORD)
                txn_reconciliation(new_driver)
                non(new_driver)
                non_saleable_holding(new_driver)
                Website_synchronize(new_driver)
                close_all_tabs(new_driver)
            else:
                non(driver)
                non_saleable_holding(driver)
                Website_synchronize(driver)
                close_all_tabs(driver)
        else:
            driver = login_user(MAKER_USER, MAKER_PASSWORD)
            upload_wi_file(driver, F_WI)
            upload_wx_file(driver, F_WX)
            close_all_tabs(driver)

            driver = login_user(CHECKER_USER, CHECKER_PASSWORD)
            authorize_wx(driver)
            corporate_batch_run(driver)
            close_all_tabs(driver)
            #
            driver = login_user(MAKER_USER, MAKER_PASSWORD)
            upload_we_file(driver, F_WE)
            upload_price_file(driver, F_PRICE)
            price_verification(driver)
            success = deal_posting_summary(driver)
            if success:
                mom(driver)
                last_data_update(driver)
                funds_acc_alc_rgf(driver)
                txn_reconciliation(driver)
                if not os.path.exists(os.path.join(PATH_DOWNLOAD, F_RCL_RE)):
                    close_all_tabs(driver)
                    new_driver = login_user(MAKER_USER, MAKER_PASSWORD)
                    txn_reconciliation(new_driver)
                    non(new_driver)
                    non_saleable_holding(new_driver)
                    Website_synchronize(new_driver)
                    close_all_tabs(new_driver)
                else:
                    non(driver)
                    non_saleable_holding(driver)
                    Website_synchronize(driver)
                    close_all_tabs(driver)

    except Exception as e:
        os.environ['BOT_STATUS'] = 'False'
        logger.error(e)

    file_path = zip_files()
    if os.path.exists(os.path.join(PATH_DOWNLOAD, F_RCL_RE)):
        files_path = [file_path, os.path.join(PATH_DOWNLOAD, F_RCL_RE)]
    else:
        files_path = [file_path]
    logger.info("------Exit from start bot method-------")
    return files_path

Relevant log output

ERROR 2023-08-04 13:20:32,072 ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
ERROR 2023-08-24 14:02:52,365 Message:
Second one is not a custome message it is selenium webdrive log.

Operating System

RHEL

Selenium version

selenium==4.9.1

What are the browser(s) and version(s) where you see this issue?

Google Chrome 113.0.5672.92

What are the browser driver(s) and version(s) where you see this issue?

ChromeDriver 113.0.5672.24

Are you using Selenium Grid?

No response

github-actions[bot] commented 1 year ago

@Yadav420dilip, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

titusfortner commented 1 year ago

First step is always to update to the latest version of Selenium. You can turn on logging to see if there is anything special about the command that has the failure. Does the code always error in the same place? Does the code always error on a specific command?

Yadav420dilip commented 1 year ago

Does the code always error in the same place? It can through the error anywhere in the code.

Does the code always error on a specific command? This also not fix. It can through anywhere in the code in the first step or in between the code.

titusfortner commented 1 year ago

The information you've provided isn't something we can use to investigate this issue. Without logs or example code that we can run and reproduce the issue, there's not much we can do. It is likely a driver issue of some kind, but we can't know for sure without more info. If you can provide more information we can re-open, but there's nothing more that is actionable on this item right now.

github-actions[bot] commented 10 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.