What does Selenium .set_script_timeout(n) do and how is it different from driver.set_page_load_timeout(n)?
As per the Selenium-Python API Docs set_page_load_timeout(n)
and set_script_timeout(n)
both are timeout methods which are used to configure the webdriver instance to abide by during the program execution.
set_page_load_timeout(time_to_wait)
set_page_load_timeout(time_to_wait)
sets the amount of time to wait for a page load to complete before throwing an error and is defined as :
def set_page_load_timeout(self, time_to_wait): """ Set the amount of time to wait for a page load to complete before throwing an error. :Args: - time_to_wait: The amount of time to wait :Usage: driver.set_page_load_timeout(30) """ try: self.execute(Command.SET_TIMEOUTS, { 'pageLoad': int(float(time_to_wait) * 1000)}) except WebDriverException: self.execute(Command.SET_TIMEOUTS, { 'ms': float(time_to_wait) * 1000, 'type': 'page load'})
Here you can find a detailed discussion on set_page_load_timeout
set_script_timeout(time_to_wait)
set_script_timeout(time_to_wait)
sets the amount of time that the script should wait during an execute_async_script
(Javascript / AJAX Call) call before throwing an error and is defined as :
def set_script_timeout(self, time_to_wait): """ Set the amount of time that the script should wait during an execute_async_script call before throwing an error. :Args: - time_to_wait: The amount of time to wait (in seconds) :Usage: driver.set_script_timeout(30) """ if self.w3c: self.execute(Command.SET_TIMEOUTS, { 'script': int(float(time_to_wait) * 1000)}) else: self.execute(Command.SET_SCRIPT_TIMEOUT, { 'ms': float(time_to_wait) * 1000})