Explicit waits


                import time

                time.sleep(5)  # 5 seconds
                        

Explicit waits


                from selenium.webdriver.common.by import By
                from selenium.webdriver.support import expected_conditions
                from selenium.webdriver.support.wait import WebDriverWait

                WebDriverWait(self.browser, 10).until(
                    expected_conditions.presence_of_element_located(
                        (By.CSS_SELECTOR, QuotesPageLocators.TAG_DROPDOWN_VALUE_OPTION)
                    )
                )
            

Explicit waits


                from selenium.webdriver.common.by import By
                from selenium.webdriver.support import expected_conditions
                from selenium.webdriver.support.wait import WebDriverWait
    
                WebDriverWait(self.browser, 10).until(
                    expected_conditions.presence_of_element_located(
                        (By.CSS_SELECTOR, QuotesPageLocators.TAG_DROPDOWN_VALUE_OPTION)
                    )
                )
                

Explicit waits


                from selenium.webdriver.common.by import By
                from selenium.webdriver.support import expected_conditions
                from selenium.webdriver.support.wait import WebDriverWait
    
                WebDriverWait(self.browser, 10).until(
                    expected_conditions.presence_of_element_located(
                        (By.CSS_SELECTOR, QuotesPageLocators.TAG_DROPDOWN_VALUE_OPTION)
                    )
                )
                

Explicit waits


                from selenium.webdriver.common.by import By
                from selenium.webdriver.support import expected_conditions
                from selenium.webdriver.support.wait import WebDriverWait
    
                WebDriverWait(self.browser, 10).until(
                    expected_conditions.presence_of_element_located(
                        (By.CSS_SELECTOR, QuotesPageLocators.TAG_DROPDOWN_VALUE_OPTION)
                    )
                )
                

Locators using By


                    from selenium.webdriver.common.by import By

                    TAG_DROPDOWN = "select#tag"
                    JUST_ID = By.ID, "tag"

                    ...

                    self.browser.find_element_by_css_selector(TAG_DROPDOWN)
                    self.browser.find_element(By.CSS_SELECTOR, TAG_DROPDOWN)

                    self.browser.find_element_by_id("tag")
                    self.browser.find_element(By.ID, "tag")
                    self.browser.find_element(*JUST_ID)
                

Locators using By


                    from selenium.webdriver.common.by import By
    
                    TAG_DROPDOWN = "select#tag"
                    JUST_ID = By.ID, "tag"
    
                    ...
    
                    self.browser.find_element_by_css_selector(TAG_DROPDOWN)
                    self.browser.find_element(By.CSS_SELECTOR, TAG_DROPDOWN)
    
                    self.browser.find_element_by_id("tag")
                    self.browser.find_element(By.ID, "tag")
                    self.browser.find_element(*JUST_ID)
                    

Locators using By


                    from selenium.webdriver.common.by import By
    
                    TAG_DROPDOWN = "select#tag"
                    JUST_ID = By.ID, "tag"
    
                    ...
    
                    self.browser.find_element_by_css_selector(TAG_DROPDOWN)
                    self.browser.find_element(By.CSS_SELECTOR, TAG_DROPDOWN)
    
                    self.browser.find_element_by_id("tag")
                    self.browser.find_element(By.ID, "tag")
                    self.browser.find_element(*JUST_ID)
                    

Other uses of By


                    ID = "id"
                    XPATH = "xpath"
                    LINK_TEXT = "link text"
                    PARTIAL_LINK_TEXT = "partial link text"
                    NAME = "name"
                    TAG_NAME = "tag name"
                    CLASS_NAME = "class name"
                    CSS_SELECTOR = "css selector"
                

Implicit waits


                    from selenium import webdriver

                    driver = webdriver.Chrome()
                    driver.implicitly_wait(10) # seconds