У меня есть динамическая таблица с несколькими строками одновременно, она показывает только несколько, поэтому у нее есть следующая кнопка для перехода к следующему набору значений.Каждая строка в таблице является ссылкой на страницу с более подробной информацией, я пытаюсь получить данные с этой страницы, после чего я возвращаюсь в основную таблицу результатов поиска, нажимаю вторую ссылку, записываю, возвращаюсь и так далее.Проблема в том, что когда я нажимаю кнопку «Далее», чтобы перейти к следующему набору значений, нажимаю на первую ссылку в результате и возвращаюсь к набору результатов после очистки, я оказываюсь в самых первых результатах поиска (страница 1 вместо страницы 2).Может кто-нибудь подсказать, что я могу делать не так.
Использовал switch_to.window (driver.window_handle []), чтобы перейти на страницу подробной информации, и используя window_handle [0], чтобы вернуться на страницу базовых результатов.
в то время как True:
table = driver.find_element_by_xpath(
'//*[@id="ctl00_ph"]/tbody')
row_table = table.find_element_by_tag_name('tr')
# row_table.find_element(By.TAG_NAME('td'))
count = 21
before = '//*[@id="ctl00_l'
after = '_lnkProperty"]'
all = driver.window_handles
print(all)
window_before = driver.window_handles[0]
#window_before = driver.window_handles()
for i in range(2, count + 1):
if i < 10:
link = before + '0' + str(i) + after
else:
link = before + str(i) + after
links.append(link)
# print(link)
row_table.find_element_by_xpath(link).click()
time.sleep(5)
driver.switch_to.window(driver.window_handles[1])
print(driver.window_handles)
print(driver.window_handles[1])
time.sleep(2)
html_doc = driver.page_source.encode('utf-8')
# print(html_doc)
# driver.back()
soup = BeautifulSoup(html_doc, 'html.parser')
time.sleep(2)
'' '' '' '# print (данные) driver.close () driver.switch_to.window (window_before) # driver.switch_to.default_content () pin.append (data) break time.sleep (1)
# elm = driver.find_element_by_xpath('//*[@id="ctl00_phArticle_ctlPropertySearch_ctlSearchResults_pnlAppealSearchResults"]/div[2]/div/a[9])')
elm = driver.find_element_by_class_name('pager-link')
# ('a', class_='pager-link')
if 'inactive' in elm.get_attribute('class'):
break
else:
elm.click()
print('click')
time.sleep(1)
print(driver.current_window_handle)
Мне все еще нужно быть в результатах, которые появились после нажатия кнопки Далее, когда я вернусь на эту страницу из другого окна.