Браузер Selenium забывает настройки поиска - PullRequest
0 голосов
/ 14 апреля 2020

Я выполняю сценарий python для очистки данных с первых 5 страниц поисковых работ в базе данных SSRN. В настоящее время я работаю сейчас:

links = browser.find_elements_by_xpath("//h3//a")
for link in links:
    href = link.get_attribute("href")
    extract_information(href,sheet,excel_data_pointer,workbook)

В настоящее время все это делается на странице 1 моего веб-сайта. У меня также есть некоторые дополнительные параметры поиска, указанные в моем коде, а именно:

enter image description here

Где это последний параметр в раскрывающемся списке поиска. Я получаю доступ к этому на первой странице с помощью:

select_element = Select(browser.find_element_by_css_selector('select#sort-by'))
#Modify me to change the Sorting filter
select_element.select_by_visible_text("Date Posted, Descending")
browser.implicitly_wait(2)

Затем я запускаю код, который я указал в начале, извлекаю ссылки и использую вспомогательную функцию для выполнения моего анализа. Моя проблема начинается со второй страницы. Когда он загружает браузер, делает паузу на секунду и переключается обратно к старым настройкам поиска, и теперь это выглядит так:

enter image description here

Я использую для l oop чтобы пройти по страницам в скрипте, получая к ним доступ:

for i in range(2,num_papers):
    browser.find_element_by_xpath("//*[@id='maincontent']/div/div[1]/div/div[3]/div/ul/li["+ str(i) +"]/a").click()

Мой первый вопрос: почему это происходит? Разве браузер не запоминает настройки поиска автоматически? Я попытался снова получить доступ к раскрывающемуся списку на этой странице, но, похоже, он не изменился. Есть ли способ сделать так, чтобы браузеры селена запоминали эти настройки?

РЕДАКТИРОВАТЬ: Я также искал "Заголовок, Аннотация и Ключевые слова" в моем первоначальном поиске, который хорошо работал на странице 1, но на странице 2 он начал искать только через «Заголовок и реферат» (опция по умолчанию)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...