Обработка заявлений об отказе от ответственности в цикле - PullRequest
1 голос
/ 09 июля 2020

У меня есть список веб-сайтов, которые я хочу посетить с Selenium, чтобы загрузить документ. Некоторые веб-сайты требуют подтверждения местоположения или просто отказа от ответственности.

Поскольку некоторые веб-сайты повторяются в моем списке, есть ли способ принять отказ от ответственности при первом посещении через Selenium и не искать отказ от ответственности в 2-й, 3-й .. визит? В настоящее время я обрабатываю его с помощью попытки, кроме .

Таким образом, он пытается принять заявление об отказе от ответственности и, если его нет (при втором посещении и так далее), он перемещается. Однако, поскольку программа ожидает исключения, на это уходит много времени, а время - это фактор, который я хочу улучшить. Какие-либо предложения? :)

1 Ответ

1 голос
/ 09 июля 2020

Исходя из предположения, что вы хотите принять отказ от ответственности при первом посещении и после этого посещения, вы не хотите принимать отказ от ответственности, я могу подумать о следующем подходе.

Создайте карту, имеющую String (URL ) в качестве ключа и логическое значение в качестве флага, чтобы проверить, является ли это первым посещением.

Map<String, Boolean> firstVisitTracker = new HashMap();

firstVisitTracker.put("www.google.com", true);

вы можете добавить все URL-адреса на карту, и значение по умолчанию для всех URL-адресов будет истинным

теперь код для принятия заявления об отказе от ответственности может быть записан в операторе if, например

if(firstVisitTracker.get("www.google.com")){
    //code to accept disclaimer
    //Update firstVisitTracker to false value for visited website
    firstVisitTracker.put("www.google.com", false);
} else
   // code to proceed without accepting disclaimer

. Вы можете использовать этот подход и настроить его в соответствии с вашими требованиями. Кроме того, я предоставил псевдокод в Java, вы можете заменить их python структурами данных

Надеюсь, это вам поможет.

Удачного кодирования!

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