Тайм-аут Chromedriver при попытке найти элемент - PullRequest
0 голосов
/ 19 июня 2019

Я развернул сценарий селена с использованием python с chromedriver в игре на моем сервере heroku.

РЕДАКТИРОВАТЬ: драйвер настроен правильно, и он запускает экземпляр, выполняет задачу. Однако для последующего вызова драйвер не может найти элемент, а затем для третьей итерации он может найти элемент.

Я не совсем уверен, сработает ли явный оператор сна.

Вот небольшой фрагмент из моего сценария селена:

def execute_entry(url,proxy,email):
      try:
            browser = driver.load_chrome_driver(proxy)
            browser.get(url)
            browser.maximize_window()

            browser.execute_script("window.scrollTo(0, 1040)")
            sleep(5)
            print("Launching browser")

            # check if the page is still available
            try:
                  print("Checking for page")
                  element_present = expected_conditions.presence_of_element_located((By.XPATH, '//*[@id="comp_firstname"]'))
                  WebDriverWait(browser, 20).until(element_present)
            except Exception as e:
                  # exit script
                  logging.exception("message")
                  print("Unable to locate element")
                  message = "There seems to be an issue with your registration. Entry is probably closed or their server is not responsive at the moment. Timed out waiting for page to load. Please try again later!"
                  email_ops.send_email(email, 'Entry Status: Error', message)
                  browser.quit()
                  return False

            # register - if page is available
            .....
            .....
            # rest of the selenium script to fill the form details

Скрипт работает нормально при тестировании на локальном сервере.

Есть идеи, что здесь могло пойти не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...