Задать вопрос
@r1dddy4sv

Переключение между n количеством окон Selenium?

В своем коде парсера мне приходится работать с всплывающими окнами

Я переключаюсь с основного на только что открытое окно, НО после этого, вместо открытия новых всплывающих окон, Selenium переходит на то же самое, первое всплывающие окно

То есть, у меня есть основное окно и новые, но информация считывается только с первого нового окна

def parse(driver,i,j,t,n): 
    n=n+1          
    driver.find_element_by_xpath(f'//*[@id="games_content"]/div/div[1]/div/div[{i}]/div[{j}]/div/div[1]/div[2]/button').click()
    window_before = driver.window_handles[0]
    try:
        driver.find_element_by_xpath(f'//*[@id="games_content"]/div/div[1]/div/div[{i}]/div[{j}]/div/div[1]/div[2]/div[3]/button[1]').click()
        window_after= driver.window_handles[int(n)]
    except NoSuchElementException:
        driver.find_element_by_xpath(f'//*[@id="games_content"]/div/div[1]/div/div[{i}]/div[{j}]/div/div[1]/div[2]/div[2]/button[1]').click()
        window_after=driver.window_handles[int(n)]
    driver.switch_to_window(window_after)
    try:
        if driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[3]/div[2]/div[2]/div/div[2]/div[2]/div[1]/div[2]/div').text =='Владение мячом':
            op=driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[3]/div[2]/div[2]/div/div[2]/div[2]/div[1]/div[1]/div').text
            print(f'статистка {op}')
        else:
            op=None
            print('нет статистики')
    except NoSuchElementException:
        op=None
        print('нет статистики')
    if op!=None:
        if int(op[:-1]) < 39:  
            team=driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[3]/div[2]/div[2]/div/div[2]/div[1]/div[2]/div/a')
            print('нашел матч')
            send(driver,t,team)
        if int(op[:-1])> 61:
            team=driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[3]/div[2]/div[2]/div/div[2]/div[3]/div[2]/div/a')
            print('нашел матч')
            send(driver,t,team)
    driver.switch_to_window(window_before)

Это функция в коде, где и происходит смена между окнами

Прошу помочь
Спасибо!
  • Вопрос задан
  • 127 просмотров
Подписаться 3 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект
22 дек. 2024, в 19:47
3000 руб./за проект