#python #selenium #automation #selenium-chromedriver
Вопрос:
Я новичок в StackOverflow, поэтому я постараюсь изо всех сил описать проблему.
Я нахожусь на странице https://www.google.com/ и вы знаете, что есть кнопка поиска. Я набрал свой запрос и нажал кнопку поиска с помощью selenium. Так что это займет некоторое время. Я хочу получить URL-адрес после завершения поиска. Это точно означает, как получить URL-адрес страницы после ее загрузки. Потому что позвольте мне объяснить…
- Страница с капчей. Я должен заполнить и нажать на кнопку Отправить
- Если капча верна, то в строке URL откроется другой URL-адрес.
- Но если капча неверна, то она останется на том же URL-адресе
- Поэтому я хотел знать, сработала капча или нет
- Если капча сработала, то она определенно перейдет на следующий URL-адрес.
Я пытался:
try:
WebDriverWait(self.driver, 2).until(EC.url_changes('https://www.mystaticurl.com/aftercaptchafilled'))
print('Captcha Accepted')
except TimeoutException:
print('[Captcha Error : Solving captcha code]')
self.Fill_captcha_function()
Но это не работает. Это все еще показывает, что капча заполнена
Кто-нибудь, пожалуйста?
заранее спасибо
Ответ №1:
После вашего действия, пожалуйста, получите текущий URL-адрес, используя следующий метод,
driver.current_url
Комментарии:
1. это работает. Спасибо, чувак.
Ответ №2:
В дополнение к тому, что сказал Джаянт, я лично использовал этот метод.
current = driver.current_url
failed = "https://www.google.com"
if current == failed:
print("Still same url!")
if current != failed:
print("New url!")
Вы также могли бы сделать
driver.get("google.com")
old = driver.current_url
"captcha code here"
new = driver.current_url
if new == old:
print("did not work :(")
if new != old:
print("YAY it worked :)")