Python webscraping Selenium не удается перейти на страницу и получить данные после входа в систему

#python #selenium #selenium-webdriver #web-scraping #selenium-chromedriver

#python #селен #selenium-webdriver #веб-очистка #selenium-chromedriver

Вопрос:

Я использую Selenium для автоматизации нескольких флажков внутри внутреннего веб-портала. Я могу успешно войти на страницу с учетными данными, используя Selenium. Но после входа в систему, если я попытаюсь перейти на нужную страницу, чтобы получить содержимое веб-страницы, даже вход в систему не происходит. И страница остается на самой странице входа, не имея возможности войти в Webportal.

Вот подход, который я использовал:

 driver.get('<myLoginURL>')

# maximize window
driver.maximize_window()

# wait for username input, scroll to it, enter username
username = WebDriverWait(driver, DELAY).until(EC.presence_of_element_located((By.ID, "inputUsername")))
    driver.execute_script("arguments[0].scrollIntoView();", username)
username.send_keys("<userID>")

...... similarly with password.....And then submit...

submit = WebDriverWait(driver, DELAY).until(EC.element_to_be_clickable((By.CLASS_NAME, "btn")))
driver.execute_script("arguments[0].scrollIntoView();", submit)
submit.click()
WebDriverWait(driver,DELAY)

driver.get("<URL_To be Navigated to>")
# WebDriverWait(driver,DELAY).until(driver.get(desired_URL))
url = driver.current_url
driver.get(url)
source = driver.page_source
  

Возникли проблемы:

  1. Веб-страница не будет входить в систему с указанными учетными данными.
  2. Очищенный контент предоставляет только данные страницы входа (т.е. Введите имя пользователя, введите пароль)
  3. Может кто-нибудь предложить мне хороший учебник, как эффективно использовать Selenium для :
  • Очистите данные с помощью тегов. В настоящее время я в замешательстве, как использовать ‘EC.presence_of_element_located’ и ‘find_element_by_ID’
  • Перейдите на веб-страницу, которую я хочу очистить после входа в систему
  • как извлечь данные со страницы, которую я хочу

Может кто-нибудь подсказать мне, в чем ошибка, которую я совершаю при навигации по странице и получении данных Заранее большое спасибо

Комментарии:

1. В чем ошибка? Перенаправление на страницу входа при выборе «<url_ для перехода»>? Также: кавычки там не указаны, это ошибка копирования / вставки?

2. ДА.. Спасибо за это .. теперь я отредактировал цитаты. Проблема в том, что я хочу перейти на страницу внутри webportal после входа в систему. Но если я укажу этот новый URL-адрес как driver.get(<navigatedURL>) после кода для входа в систему, драйвер не войдет в систему, и я думаю, что он пытается открыть navigatedURL, даже не войдя в систему. Таким образом, страница остается только на первой странице, не способной даже войти в систему

3. вход в систему займет определенное количество времени … вероятно, не так много, но вы здесь вообще не ждете. Вы нажимаете отправить, а затем сразу переключаете страницы. (кроме того, вам, вероятно, не нужна прокрутка там… Selenium автоматически переходит в режим просмотра при вызове click.) Документация здесь: selenium.dev/documentation/ru

4. Я также пробовал, как и то, как вы предлагали подождать. Но в итоге я выхожу из системы и остаюсь на первой странице. Не могли бы вы предложить мне какой-либо метод, который я могу использовать? Я попробовал WebDriverWait(driver, DELAY).until(driver.get(new_URL)), а также разместил оператор ожидания перед просто driver.get(new_URL)

5. Или есть способ, как просматривать и перемещаться по разделенным вкладкам после открытия страницы входа. Это может быть трудно просматривать (так как оно находится глубоко внутри), и именно поэтому я напрямую пытаюсь указать URL-адрес требуемого идентификатора, который я хочу открыть