Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def login_(browser):
- try:
- browser.get("some_url")
- # user credentials
- user = browser.find_element_by_xpath('//*[@id="username"]')
- user.send_keys(config('user'))
- password = browser.find_element_by_xpath('//*[@id="password"]')
- password.send_keys(config('pass'))
- login = browser.find_element_by_xpath('/html/body/div[1]/div/button')
- login.send_keys("n")
- time.sleep(1)
- sidebar = browser.find_element_by_xpath('//*[@id="sidebar"]/ul/li[1]/a')
- sidebar.send_keys("n")
- app_submit = browser.find_element_by_xpath('//*[@id="sidebar"]/ul/li[1]/ul/li[1]/a')
- app_submit.send_keys("n")
- except TimeoutException or NoSuchElementException:
- raise LoginException
- Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="sidebar"]/ul/li[1]/a"}
- (Session info: headless chrome=67.0.3396.79)
- (Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee97XXX),platform=Linux 4.4.0-116-generic x86_64)
- def initiate_webdriver():
- option = webdriver.ChromeOptions()
- option.binary_location = config('GOOGLE_CHROME_BIN')
- option.add_argument('--disable-gpu')
- option.add_argument('window-size=1600,900')
- option.add_argument('--no-sandbox')
- if not config('DEBUG', cast=bool):
- display = Display(visible=0, size=(1600, 900))
- display.start()
- option.add_argument("--headless")
- else:
- option.add_argument("--incognito")
- return webdriver.Chrome(executable_path=config('CHROMEDRIVER_PATH'), chrome_options=option)
- login = browser.find_element_by_xpath('/html/body/div[1]/div/button')
- login = browser.find_element_by_xpath('/html/body/div[1]/div/button')
- login.click()
- WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="sidebar"]/ul/li[1]/a'))).click()
- WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@attribute='value']"))).click()
- option.add_argument('--disable-gpu')
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support import expected_conditions as EC
- driver.save_screenshot("path to save screen.jpeg")
- try:
- sidebar = browser.find_element_by_xpath('//*[@id="sidebar"]/ul/li[1]/a')
- except NoSuchElementException:
- time.sleep(10)
- print("Unable to find element in first time, trying it again")
- sidebar = browser.find_element_by_xpath('//*[@id="sidebar"]/ul/li[1]/a')
- from selenium.webdriver.support.wait import WebDriverWait
- from selenium.webdriver.support.expected_conditions import visibility_of_element_located
- from selenium.webdriver.common.by import By
- TIMEOUT = 5
- ...
- xpath = '//*[@id="sidebar"]/ul/li[1]/a'
- WebDriverWait(self.selenium, TIMEOUT).until(visibility_of_element_located((By.XPATH, xpath)))
- browser.find_element_by_xpath(xpath)
- ...
Add Comment
Please, Sign In to add comment