Использование Python Selenium, как закрыть текущую вкладку, которая открылась при нажатии на легальную ссылку на веб-странице - PullRequest
0 голосов
/ 06 января 2020

Мой сценарий находится на веб-странице, которую я тестирую, и при нажатии на нее появляется ссылка "Legal", при которой открывается новая вкладка, на которой доступны ссылки на все страницы. как только я закончу работать с этими ссылками, я должен закрыть эту вкладку и перейти на главную вкладку, где была юридическая ссылка.
Я пытался driver.close(), она не работала. Она не закрывает вкладку

Может кто-нибудь, пожалуйста, помогите мне, как закрыть правильную вкладку и перейти к основной

Ответы [ 2 ]

0 голосов
/ 07 января 2020

вы можете сделать это, используя window_handels и switch_to.window().

, поэтому, прежде чем нажимать кнопку "Legal", сохраните текущий дескриптор окна с помощью

parent_handle  = driver.window_handles[0]

после нажатия «Правовая» кнопка, вы переключаетесь на новый дочерний дескриптор

child_handle= [x for x in driver.window_handles if x != parent_handle][0]
driver.switch_to.window(child_handle) 

, затем добавляете сон на несколько секунд и выполняете свою работу. затем вы можете закрыть вкладку на

driver.close()

и теперь, если хотите, можете перейти на родительский / предыдущий веб-сайт

driver.switch_to.window(parent_handle)

надеюсь, это поможет.

0 голосов
/ 07 января 2020

Попробуйте эту ссылку: -

https://gist.github.com/lrhache/7686903

1)Open a new window/tab by simulating a click on a link
2)Add a focus on this new tab
3)Wait for an element on the new page to be rendered (ui.WebDriverWait)
4)Do whatever you have to do on this new page
5)Close the tab
6)Return focus on original window opener
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...