FindElemetsByXPath выдает ошибку

  • Автор темы Автор темы semafor
  • Дата начала Дата начала

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Реакции
411
Баллы
63
Добра всем!
Поможите люди добрые разобраться:

Есть незамысловатая страница https://mail.ru
Есть на ней табы — Новости, Спорт итп.
Пытаюсь через Xpath получить коллекцию ссылок на эти табы, и в хроме мой Xpath прекрасно работает.
А в ProjectMaker я раз за разом получаю ошибку сбора коллекции, т.е -1 (см. код). Если убираю heCol.ErrorDetected, т.е. остается только heCol.IsVoid — возвращает 0, т.е. пустую коллекцию
Код (и собсно сам Xpath):
C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://mail.ru");
    if (tab.IsBusy) tab.WaitDownloading();
    
    
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[@class='tabs']/a");
    
    if ((heCol.IsVoid) || (heCol.ErrorDetected)) return -1; //Все время ловлю -1
    return heCol.Count; // Если вместо ((heCol.IsVoid) || (heCol.ErrorDetected)) оставить просто (heCol.IsVoid), то возвращает количество 0
Совсем уже потерял веру — на 20 раз пересмотрел документацию, и вроде все правильно делаю, но результата нет. Задача учебная, но мозг загадила так, что совсем покой потерял... Откройте глаза плз — это я туплю, или майлру меня на понты скрипты берет?
 
Добра всем!
Поможите люди добрые разобраться:

Есть незамысловатая страница https://mail.ru
Есть на ней табы — Новости, Спорт итп.
Пытаюсь через Xpath получить коллекцию ссылок на эти табы, и в хроме мой Xpath прекрасно работает.
А в ProjectMaker я раз за разом получаю ошибку сбора коллекции, т.е -1 (см. код). Если убираю heCol.ErrorDetected, т.е. остается только heCol.IsVoid — возвращает 0, т.е. пустую коллекцию
Код (и собсно сам Xpath):
C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://mail.ru");
    if (tab.IsBusy) tab.WaitDownloading();
  
  
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[@class='tabs']/a");
  
    if ((heCol.IsVoid) || (heCol.ErrorDetected)) return -1; //Все время ловлю -1
    return heCol.Count; // Если вместо ((heCol.IsVoid) || (heCol.ErrorDetected)) оставить просто (heCol.IsVoid), то возвращает количество 0
Совсем уже потерял веру — на 20 раз пересмотрел документацию, и вроде все правильно делаю, но результата нет. Задача учебная, но мозг загадила так, что совсем покой потерял... Откройте глаза плз — это я туплю, или майлру меня на понты скрипты берет?
Думал сейчас создать тему по поводу FindElementsByXPath. У меня в проекте этот метод тоже не ищет элементы сейчас.
 
А вот на тестовой площадке https://lessons.zennolab.com/ru/index все пучком, коллекцию собирает... Тем же кодом и без ошибок:

C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://lessons.zennolab.com/ru/index");
    if (tab.IsBusy) tab.WaitDownloading();
    
    
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//input[@class='inputs']");
    
    // if collection is invalid
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    return heCol.Count; //Возвращает честные 7 элементов коллекции
 
И у Яши на маркете тоже все работает:
C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://market.yandex.ru/catalog--protsessory-cpu/55330/list?hid=91019&onstock=1&local-offers-first=0");
    if (tab.IsBusy) tab.WaitDownloading();
   
   
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[contains(@class,'n-snippet-card2')]");
   
    // if collection is invalid
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    return heCol.Count; //Возвращает 922 — считать не стал, но это явно не -1 и не 0!
 
И у Яши на маркете тоже все работает:
C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://market.yandex.ru/catalog--protsessory-cpu/55330/list?hid=91019&onstock=1&local-offers-first=0");
    if (tab.IsBusy) tab.WaitDownloading();


   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[contains(@class,'n-snippet-card2')]");

    // if collection is invalid
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    return heCol.Count; //Возвращает 922 — считать не стал, но это явно не -1 и не 0!

Хм. А попробуй такой Xpath -
C#:
Развернуть Свернуть Копировать
//div[contains(@class, 'tabs')]/a
У тебя немного не так было. И в коллекции там не 7 элементов, а 12 получается. Твой путь выдавал 7.
 
Хм. А попробуй такой Xpath -
C#:
Развернуть Свернуть Копировать
//div[contains(@class, 'tabs')]/a
У тебя немного не так было. И в коллекции там не 7 элементов, а 12 получается. Твой путь выдавал 7.
Ты цитируешь мой код от Яндекс Маркета, но не суть...
У меня было так:
C#:
Развернуть Свернуть Копировать
@"div[@class='tabs']/a"
И именно в том и была задумка - получить в коллекцию только прямых потомков div-а с классом "tabs" которых реально 7. Вот этот кусок html:
HTML:
Развернуть Свернуть Копировать
<div class="tabs">
    <a class="tabs__item js-click is-active" href="//news.mail.ru/" data-type="main" name="clb644113" data-d="660506" tabindex="30">Новости</a>
    <a class="tabs__item js-click" href="http://news.mail.ru/inregions/siberian/54/" data-type="regional" name="clb23640812" data-d="660371" tabindex="31">Новосибирск</a>
    <a class="tabs__item js-click" href="//sportmail.ru" data-type="sport" name="clb644062" data-d="660372" tabindex="32">Спорт</a>
    <a class="tabs__item js-click" href="//lady.mail.ru/" data-type="lady" name="clb644064" data-d="660379" tabindex="33">Леди</a>
    <a class="tabs__item js-click" href="//auto.mail.ru/" data-type="auto" name="clb644114" data-d="660373" tabindex="34">Авто</a>
    <a class="tabs__item js-click" href="//kino.mail.ru/" data-type="cinema" name="clb644116" data-d="660375" tabindex="35">Кино</a>
    <a class="tabs__item js-click" href="//hi-tech.mail.ru/" data-type="hitech" name="clb644118" data-d="660380" tabindex="36">Hi-Tech</a>
    <div id="tabs:dropdown-container" class="o-dropdown__container tabs__item tabs__item_more">
        <span class="tabs__dropdown-button o-dropdown__button js-click" data-type="more" name="clb818633"><svg width="16" height="4" viewBox="0 0 16 4" xmlns="http://www.w3.org/2000/svg"><path d="M2 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z" fill-rule="evenodd"></path></svg>
        </span>
        <div id="tabs:dropdown" class="o-dropdown tabs__dropdown i-hide">
            <span class="tabs__dropdown-nose"></span>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//games.mail.ru/pc/" data-type="games" name="clb683645" data-d="683644">Игры</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//deti.mail.ru/" data-type="deti" name="clb27526739" data-d="27526746">Дети</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//health.mail.ru/" data-type="health" name="clb28018776" data-d="28018781">Здоровье</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//realty.mail.ru/" data-type="realty" name="clb29615523" data-d="29615521">Недвижимость</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//pets.mail.ru/" data-type="pets" name="clb29397107" data-d="29397116">Питомцы</a>
        </div>
    </div>
</div>
Но мой xpath теперь выдает красивую круглую загогулину - 0 (хотя до этого я ловил -1).
С твоим xpath в коллекцию попадает 5 элементов (пока не смотрел каких (уже глаз замылился), но предполагаю, те что упакованы в div id="tabs:dropdown" class="o-dropdown tabs__dropdown i-hide")
А вот такой xpath
C#:
Развернуть Свернуть Копировать
//div[@class='tabs']/a[contains(@class,'tabs__item')]
равно как и такой
C#:
Развернуть Свернуть Копировать
//div/a[contains(@class,'tabs__item')]
опять возвращают 0.
И вот что это за хня я не догоню. Наверное утро вечера мудренее, продолжу изыскания завтра...
 
Подтверждаю, по старым проектам тоже перестал искать коллекцию элементов. Видимо проблема на стороне программы
 
Ты цитируешь мой код от Яндекс Маркета, но не суть...
У меня было так:
C#:
Развернуть Свернуть Копировать
@"div[@class='tabs']/a"
И именно в том и была задумка - получить в коллекцию только прямых потомков div-а с классом "tabs" которых реально 7. Вот этот кусок html:
HTML:
Развернуть Свернуть Копировать
<div class="tabs">
    <a class="tabs__item js-click is-active" href="//news.mail.ru/" data-type="main" name="clb644113" data-d="660506" tabindex="30">Новости</a>
    <a class="tabs__item js-click" href="http://news.mail.ru/inregions/siberian/54/" data-type="regional" name="clb23640812" data-d="660371" tabindex="31">Новосибирск</a>
    <a class="tabs__item js-click" href="//sportmail.ru" data-type="sport" name="clb644062" data-d="660372" tabindex="32">Спорт</a>
    <a class="tabs__item js-click" href="//lady.mail.ru/" data-type="lady" name="clb644064" data-d="660379" tabindex="33">Леди</a>
    <a class="tabs__item js-click" href="//auto.mail.ru/" data-type="auto" name="clb644114" data-d="660373" tabindex="34">Авто</a>
    <a class="tabs__item js-click" href="//kino.mail.ru/" data-type="cinema" name="clb644116" data-d="660375" tabindex="35">Кино</a>
    <a class="tabs__item js-click" href="//hi-tech.mail.ru/" data-type="hitech" name="clb644118" data-d="660380" tabindex="36">Hi-Tech</a>
    <div id="tabs:dropdown-container" class="o-dropdown__container tabs__item tabs__item_more">
        <span class="tabs__dropdown-button o-dropdown__button js-click" data-type="more" name="clb818633"><svg width="16" height="4" viewBox="0 0 16 4" xmlns="http://www.w3.org/2000/svg"><path d="M2 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm6 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z" fill-rule="evenodd"></path></svg>
        </span>
        <div id="tabs:dropdown" class="o-dropdown tabs__dropdown i-hide">
            <span class="tabs__dropdown-nose"></span>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//games.mail.ru/pc/" data-type="games" name="clb683645" data-d="683644">Игры</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//deti.mail.ru/" data-type="deti" name="clb27526739" data-d="27526746">Дети</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//health.mail.ru/" data-type="health" name="clb28018776" data-d="28018781">Здоровье</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//realty.mail.ru/" data-type="realty" name="clb29615523" data-d="29615521">Недвижимость</a>
            <a class="tabs__dropdown-item i-color-black i-link-no-deco js-click" href="//pets.mail.ru/" data-type="pets" name="clb29397107" data-d="29397116">Питомцы</a>
        </div>
    </div>
</div>
Но мой xpath теперь выдает красивую круглую загогулину - 0 (хотя до этого я ловил -1).
С твоим xpath в коллекцию попадает 5 элементов (пока не смотрел каких (уже глаз замылился), но предполагаю, те что упакованы в div id="tabs:dropdown" class="o-dropdown tabs__dropdown i-hide")
А вот такой xpath
C#:
Развернуть Свернуть Копировать
//div[@class='tabs']/a[contains(@class,'tabs__item')]
равно как и такой
C#:
Развернуть Свернуть Копировать
//div/a[contains(@class,'tabs__item')]
опять возвращают 0.
И вот что это за хня я не догоню. Наверное утро вечера мудренее, продолжу изыскания завтра...

5.38 версия? у меня на 5.37 просто, все работает как часы
 
5.38 версия? у меня на 5.37 просто, все работает как часы
У меня 5,29

Не могу сказать что совсем не работает — я вчера писал, что на страницах Яндекс маркета
C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://market.yandex.ru/catalog--protsessory-cpu/55330/list?hid=91019&onstock=1&local-offers-first=0");
    if (tab.IsBusy) tab.WaitDownloading();
  
  
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[contains(@class,'n-snippet-card2')]");
  
    // if collection is invalid
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    return heCol.Count; //Возвращает 922 — считать не стал, но это явно не -1 и не 0!

И на странице https://lessons.zennolab.com/ru/index, FindElementsByXPath работает

C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://lessons.zennolab.com/ru/index");
    if (tab.IsBusy) tab.WaitDownloading();
    
    
   HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//input[@class='inputs']");
    
    // if collection is invalid
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    return heCol.Count; //Возвращает честные 7 элементов коллекции

Более того, предложенный тобой xpath на mail.ru тоже отрабатывает, но возвращает мне 5 элементов коллекции, хотя судя по html, должен бы вернуть 12 элементов. Вопрос теперь, как выловить где косяк.
 
вот рабочий xpath - //div[contains(@class,'grid') ]/div[contains(@class,'tabs')]/a[contains(@class,'tabs__item')]

Вот полный код с твоим xpath:

C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://mail.ru");
    if (tab.IsBusy) tab.WaitDownloading();
   
       HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[contains(@class,'grid') ]/div[contains(@class,'tabs')]/a[contains(@class,'tabs__item')]");
   

    if ((tab.IsVoid) || (tab.IsNull)) return -1;
       
    return heCol.Count;

А вот результат:

Выполнение кода C# Результат: 0
 
Последнее редактирование:
Может разработчики что то ответят по данному вопросу? Работа встала из за этого
 
Вот полный код с твоим xpath:

C#:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
    if ((tab.IsVoid) || (tab.IsNull)) return -1;
    if (tab.IsBusy) tab.WaitDownloading();
    tab.Navigate("https://mail.ru");
    if (tab.IsBusy) tab.WaitDownloading();
 
       HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//div[contains(@class,'grid') ]/div[contains(@class,'tabs')]/a[contains(@class,'tabs__item')]");
 

    if ((tab.IsVoid) || (tab.IsNull)) return -1;
     
    return heCol.Count;

А вот результат:

Выполнение кода C# Результат: 0

все работает, вот скрин
пробовал и под хромом и под FF52. все находит.

753c6e023853ce22bd5d705bfab6495b.png
 
все работает, вот скрин
пробовал и под хромом и под FF52. все находит.

753c6e023853ce22bd5d705bfab6495b.png

Дык я верю. И мой xpath должен работать — там никаких хитростей вроде нет. Более того, я выше пишу, что на других страницах метод работает. Но вот нас, невольных тестировщиков уже двое — ial1408 пишет о похожих проблемах. А что за версия ZP?
 
5.38 версия.
кстати а что это за фигня у вас в коде - GetDocumentByAddress("0") ?
это вообще не нужная вещь в данном случае.
может в этом у вас проблема ? попробуйте убрать.
 
проблема тут в том что в зенке грузиться другой класс div , не такой как в обычном браузере.
похожий , но другой. возможно защита от ботов так срабатывает. фиг знает

86ddd732d58d2b99b01b1e4e56998857.png
 
Понял. Сейчас поковыряюсь, попробую систематизировать мысли. Пля, щас ребутнул PM — твой xpath отработал, но.. Вернул в коллекцию 5 элементов. 5 Карл! Хотя в реале их 7. А у тебя возвращает 6. Непоняяятно...
 
Понял. Сейчас поковыряюсь, попробую систематизировать мысли. Пля, щас ребутнул PM — твой xpath отработал, но.. Вернул в коллекцию 5 элементов. 5 Карл! Хотя в реале их 7. А у тебя возвращает 6. Непоняяятно...
их не 7 и не 6 и не 5. они динамически появляются. окно больше меньше и они меняются.
 
  • Оценить
Реакции: semafor
Последнее редактирование:
  • Оценить
Реакции: semafor
Ваш путь Xpath отрабатывает правильно пока не с генерируется новое имя класса дива.

Посмотреть вложение 44725
Блин, в двух браузерах смотрел — класс дива "tabs" онли, без всяких динамических приколов. А в св-вах элемента PM не смотрел, как-то не сложилось у меня с ним — не по глазам.
 
Таки можно ставить точку. Наверное.

Результаты изысканий таковы — видимо вчера, в процессе ковыряний произошло некое частичное подвисание PM (у меня так уже бывало, пока не ребутнешь — нигугу). А дальше, в попытках разобраться, начал городить, и чем дальше тем больше.
После нескольких тычков объединил навигейт и FindElementsByXPath в один кубик, и началась сра№ая магия 8-) с перманентным выносом мозга...

Изначально загрузка страницы и сбор коллекции производились в разных кубиках, отсюда взялся GetDocumentByAddress("0") (это к вопросу Phoenix78):

кстати а что это за фигня у вас в коде - GetDocumentByAddress("0") ?
это вообще не нужная вещь в данном случае.

И таки да, в одном кубике такой код вызывает ошибку:


C#:
Развернуть Свернуть Копировать
Tab tab = instance.ActiveTab;
if ((tab.IsVoid) || (tab.IsNull)) return -1;
if (tab.IsBusy) tab.WaitDownloading();
tab.Navigate("https://mail.ru/", "");
if (tab.IsBusy) tab.WaitDownloading();

//такое выражение в данном контексте не работет и вызывает ошибку получения коллекции, однако при использовании в отдельном от навигейта кубике вполне будет работать
HtmlElementCollection heCol = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByXPath(@"//a[contains(@class, 'tabs__item js-click')]");

//Если сбор коллекции производится в одном кубике с navigate, рабчие варианты следующие
HtmlElementCollection heCol = tab.FindElementsByXPath(@"//a[contains(@class, 'tabs__item js-click')]"); // наверное более правильный и изящный, т.к. tab мы уже объявили в начале кубика и нефиг повторяться
HtmlElementCollection heCol = instance.ActiveTab.FindElementsByXPath(@"//a[contains(@class, 'tabs__item js-click')]"); // этот покорявее, но тоже рабочий.

Большое спасибо всем за помощь!
 
У меня к сожалению так и не заработало. Так и не находит коллекцию которая в хроме находится с помощью плагина Xpath helper. У меня всегда сделано через tab.FindElementsByXPath("xpath").

UPD: Сейчас сделал тестовый проект где наглядно показано что в отдельном элементе видит таблицу, а в коллекции элементов не видит (пути Xpath в обоих случаях одинаковы). Кому не трудно, скопируйте пожалуйста в отдельный кубик и запустите. Что лог выдаст?
У меня выдает:
Всего элементов: 0
Всего таблиц: 0
Есть таблица



Код:
Развернуть Свернуть Копировать
Tab tab1 = instance.ActiveTab;
tab1.Navigate("https://autoresurs24.ru/parts/?mark=&raw_part_type=%D0%94%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C&part_type=&do_search=1&bibnet_page=1&perpage=30&is_hide_autorazborka=on");
tab1.WaitDownloading();
tab1.FindElementByXPath("//input[@value='показать запчасти']",0).Click(); // жмем на кнопку показать запчасти

//Ждем пока прогрузятся все запчасти
for (int l=0; l<30; l++){
    if (tab1.FindElementByXPath("//table[contains(@class,'goods')]/tbody/tr/th[text()='Цена']/parent::tr/following-sibling::tr",0).IsVoid){
        Thread.Sleep(200);
    }else break;
}

//Надо найти эту коллекцию
HtmlElementCollection colItems = tab1.FindElementsByXPath("//div[@id='bibinet_result']/table/tbody/tr");
project.SendInfoToLog("Всего элементов: " + colItems.Count.ToString());

//Для теста делаем что бы понять видит ли зенка вообще таблицу в коллекции и в отдельном элементе
HtmlElementCollection colItemsTest = tab1.FindElementsByXPath("//div[@id='bibinet_result']/table"); // в коллекции не видит таблиц
project.SendInfoToLog("Всего таблиц: " + colItemsTest.Count.ToString());

if (tab1.FindElementByXPath("//div[@id='bibinet_result']/table",0).IsVoid){ // в отдельном элементе видет таблицу
    project.SendInfoToLog("Нету таблицы");
}else{
    project.SendInfoToLog("Есть таблица");
}
 
Последнее редактирование:
под движком хрома не работает, под файрфокс 52 все находит. это точно баг хрома. смело заводи в баг трекер, авось починят через пару лет.
ужас какой то, хром вообще не рабочий. xpath через раз не находит, драгдроп мышки не работает, вылетает в 10 раз чаще, перезапуск вылетевшего шаблона по 5 минут происходит.
я с выходом каждого обновления все надеюсь ну вот щас то норм все будет... а оно все хуже и хуже. придется бросить эту идею с переписыванием шабов на хром.
огорчает только что в тикетах разрабы советуют переходить на хром, забросили файрфокс .... а хром то не рабочий от слова совсем !
 
  • Оценить
Реакции: TwistDanceR
Что лог выдаст?
Запуск в зеннопостере 5.29.5.0:
1. Ваш код, брузер хром, при каждом запуске новая генерация профиля:
17 попыток: 8 раз есть таблица, 9 раз нет

2. Ваш код, брузер хром, загрузка одного и того же профиля:
17 попыток: 13 раз есть таблица, 4 раз нет

3. Добавил в код установку размера окна и паузу 3с после цикла for:
C#:
Развернуть Свернуть Копировать
int width = project.Profile.AvailScreenWidth;
int height = project.Profile.AvailScreenHeight;
instance.SetWindowSize(width, height);
17 попыток: 13 раз есть таблица, 4 раз нет

P.S Добавил в if instance.WaitForUserAction(900); после сообщения "Нету таблицы", что бы посмотреть что прогрузилось на странице, 20 "Есть таблица" из 20 попыток:D
 
Последнее редактирование:
под движком хрома не работает, под файрфокс 52 все находит
Если это Вы на мой комментарий написали то у меня firefox52 стоит
придется бросить эту идею с переписыванием шабов на хром
Небольшой оффтоп, объясните пожалуйста в двух словах что значит, как это выглядит и зачем переписывать под хром. Дом модель же вроде в обоих браузерах одинакова. Реально пока не понимаю.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)