Search
Write a publication
Pull to refresh

Comments 16

Thread.sleep(2*1000); //Жду

image
Есть же wait for!
WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id<locator>));

Это мой первый скрипт на Java. Я вообще то PHP-шник. А Java я гуглю и пишу. Соответственно, что первое попалось, то и пишу.
Я вообще то PHP-шник.

Понял.
$driver->wait()->until(
    function () use ($driver) {
        $elements = $driver->findElements(WebDriverBy::cssSelector('li.foo'));

        return count($elements) > 5;
    },
    'Error locating more than five elements'
);

Заголовок спойлера
Если Вы не поняли моего предыдущего сообщения, то я объясню: сначала нужно изучить инструмент, потом использовать, и только потом пилить на Хабр статью. Умолчу, что Вашу задачу можно было решить 1000 и 1 способом и совсем без selenium-а
Решить то можно и без Seleniuma. Ну я решил вот так сделать, и, может быть, это кому то будет полезным готовым скриптом по работе с Контуром.

А по поводу «Thread.sleep(2*1000);» — я руководствовался тем, что не знаю систему безопасности в Контуре, поэтому, чтобы не забанили аккаунт, притворялся простым юзером, который вводит данные с паузами. Паузу оно делает, поэтому задачу свою выполняет. Если что-то не нравится в написании, тут каждый может что-то добавить, что-то убрать.
Зачем такие сложности. Посмотреть в devtools ajax запрос и повторить его. Если защиты нет то это 10 минут работы.
1. Я не нашёл, где они в ajax-запросах. Может быть плохо искал, но…
2. К тому же там ещё сложность в посылке логина системе. Страничка логина не простая, а защищённая. Вот из-за него и пришлось работать из браузера.
Страничка логина не простая, а защищённая.

Самая обычная

Заголовок спойлера
Использовать нужно request типа Session, который хранит всю мета-информацию, от запроса к запросу
Ну да, вижу, что у Вас получилось отловить этот ajax.
В dev-tool браузера, на вкладке Network, есть волшебная галочка Preserve Log.
Я тоже теперь вижу этот запрос. Спасибо, полезно!
aRomanyuk, привет! Я из Контура. Классно, что ты разобрался, как у нас всё устроено в Закупках, потрогал Java и Selenium. Читали пост всей командой, гордились тобой :)

Давай подарим тебе доступ к Закупкам на тарифе Эксперт? Во-первых, будет удобней работать — можно будет выгрузить информацию через интерфейс. Во-вторых, не нужно было поддерживать скрипт из поста. А ещё подарим книжку по Java — следующий скрипт писать будет легче :)

Напишешь мне в личку?
С удовольствием приму этот щедрый подарок

Подскажите, пожалуйста, можно ли автоматизировать скачивание всех документов по тендеру зная его номер?

Подскажите, пожалуйста, можно ли автоматизировать скачивание всех документов по тендеру зная его номер?

Спасибо, Владимир Анатольевич, порадовали весь Контур! :-)
Sign up to leave a comment.

Articles