Firefox, Selenium, Webdriver: как программно удалить все файлы cookie и данные сайта? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть следующие настройки: Python 3.7 Селен 3.141.0 Firefox 67.0.4 Geckodriver 0.24.0

Я написал программу, которая удаляет данные об отелях с веб-сайта гостиничного оператора. Используя ссылку в качестве запроса, программа предоставляет сайту город, даты заезда и выезда, количество человек и т. Д.

Программа запускает Firefox и делает первый запрос, и все идет хорошо. Проблема возникает из второго запроса и далее, потому что независимо от того, что указано в следующих ссылках, он будет продолжать отображать результаты города в первом запросе, только изменяя даты.

Когда веб-драйвер перезапускается, он возвращается к нормальному состоянию для первого запроса, но начиная со второго, все идет как прежде.

Я попытался использовать delete_all_cookies () и настроить профиль веб-драйвера, чтобы не создавать кеш, но он не работает. Я попытался с помощью Python удалить все файлы в папке профиля, но он все равно не работает.

Странно то, что если я захожу в браузер и вручную удаляю «Cookies и другие данные сайта», это нормально, но я не могу найти способ сделать это программно. Пробовал и в Firefox и в Chrome.

Перезапуск веб-драйвера также работает. Я понимаю, что он очищает профиль и начинает каждый раз с нового. Но это слишком дорого с течением времени.

#First link, it all goes ok
URL = 'https://www.wyndhamhotels.com/en-us/hotels/beijing-china?brand_id=ALL&checkInDate=8/10/2019&checkOutDate=8/11/2019&useWRPoints=false&children=0&adults=2&rooms=1'
DRIVER.get(URL)

# From the second link on, no matter how many searches I d, I always get the results for Beijing
URL = 'https://www.wyndhamhotels.com/en-us/hotels/bremen-germany?brand_id=ALL&checkInDate=9/11/2019&checkOutDate=9/11/2019&useWRPoints=false&children=0&adults=2&rooms=1'
DRIVER.get(URL)

URL = 'https://www.wyndhamhotels.com/en-us/hotels/paris-france?brand_id=ALL&checkInDate=9/11/2020&checkOutDate=9/11/2020&useWRPoints=false&children=0&adults=2&rooms=1'
DRIVER.get(URL)

Есть ли способ программно удалить все файлы cookie и другие данные сайта, как это происходит, когда вы делаете это вручную из меню во время работы веб-драйвера? Или, если подумать, что именно происходит, когда вы вручную удаляете файлы cookie и другие данные сайта из меню браузера? Что удаляется и откуда?

...