Как открыть новый сайт через Селен, а затем открыть новую вкладку, закрыть новую вкладку и работать с первой вкладкой в ​​python - PullRequest
0 голосов
/ 03 апреля 2019

Я пытался работать с веб-драйвером селена для этого плана "Я открываю новую ссылку через веб-драйвер селена на примере веб-сайта с именем scene-rls и выполняю некоторую работу на этом сайте, а после того, как открываю новую вкладку, чтобы открыть google.com, затем делаюнекоторые работают и закрывают вкладку google и возвращаются на вкладку scene-rls и выполняют новую работу на вкладке scene-rls, но в моем коде, когда я открываю google.com и закрываю вкладку и обратно на вкладку scene-rlsкод возврата ошибки, как это:

selenium.common.exceptions.NoSuchWindowException: Message: no such window: window was already closed

и мой код:

  Regular_part = "Ambulance Australia S02E05 WEB H264-FLX"
  driver = 
webdriver.Chrome(executable_path=r'C://chromdriver//chromedriver.exe')

x = True
while x:
    driver.get('http://scene-rls.net/?s='+Regular_part+'&submit=Find')

    time.sleep(5)
    driver.find_element_by_xpath('/html/body/div/div[1]/div[2]/h1/a').click()

    print("Opent new tab")
    driver.execute_script("window.open ('https://google.com', 'new window')")

    time.sleep(3)
    print("back scn tab")

    driver.switch_to_window(driver.window_handles[0])

    time.sleep(3)
    print("back google tab")

    driver.switch_to_window(driver.window_handles[1])
    driver.execute_script("window.close ('https://google.com', 'new window')")


    z = input(":::")
    if z == "y":
        x = True
    else:
        x = False

1 Ответ

1 голос
/ 03 апреля 2019

После закрытия окна вы должны снова переключиться на предыдущее окно.

driver.execute_script("window.close ('https://google.com', 'new window')")
driver.switch_to.window(driver.window_handles[0])
...