- Регистрация
- 22.07.2018
- Сообщения
- 47
- Благодарностей
- 4
- Баллы
- 8
Здравствуйте
На сайте есть ссылки, мне необходимо сделать клик (или получить её номер) по той, у которой innerText равен заданной переменной, причем innerText нужно брать из соседнего смежного div'а.
1) Первый вопрос чуть отступительный, не могу разобраться почему классический вариант на кубиках не работает. На форуме я нашел, что несколько условий можно задать через экшен События:
Но, я добавляю событие, а у меня совсем другое выводится (IntelliSearch) (версия ZP 5.28.0.0) и список условий никак не выпадает как на картинке выше:
2) По основному вопросу: допустим такая разметка
В шаблоне задана только переменная project.Variables["url"].Value = "site.ru"
Мне необходимо получить counter_id, то есть значение 333
Как посоветуете грамотнее всего это сделать (желательно через поиски по атрибутам родителей/детей, чем NextSibling и т.д.)?
Я тут накидал часть кода, но не знаю что с ней дальше можно делать. Допустим, пройдемся циклом по всем item. А как сделать поиск по HtmlElement?
На сайте есть ссылки, мне необходимо сделать клик (или получить её номер) по той, у которой innerText равен заданной переменной, причем innerText нужно брать из соседнего смежного div'а.
1) Первый вопрос чуть отступительный, не могу разобраться почему классический вариант на кубиках не работает. На форуме я нашел, что несколько условий можно задать через экшен События:
Но, я добавляю событие, а у меня совсем другое выводится (IntelliSearch) (версия ZP 5.28.0.0) и список условий никак не выпадает как на картинке выше:
2) По основному вопросу: допустим такая разметка
HTML:
<div class="item">
<a class="link" href="/go?counter_id=333">random_text</a>
<div class="item-info">
<a class="link_external" href="http://site.ru">site.ru</a>
<span class="separator">•</span>
<div class="counter_id">333</div>
</div>
</div>
<div class="item">
<a class="link" href="/go?counter_id=444">random_text</a>
<div class="item-info">
<a class="link_external" href="http://site2.ru">site2.ru</a>
<span class="separator">•</span>
<div class="counter_id">444</div>
</div>
</div>
...
Мне необходимо получить counter_id, то есть значение 333
Как посоветуете грамотнее всего это сделать (желательно через поиски по атрибутам родителей/детей, чем NextSibling и т.д.)?
Я тут накидал часть кода, но не знаю что с ней дальше можно делать. Допустим, пройдемся циклом по всем item. А как сделать поиск по HtmlElement?
Код:
// HtmlElementCollection items = instance.ActiveTab.FindElementsByXPath("//div[contains(@class, 'item')]");
var items = instance.ActiveTab.FindElementsByAttribute("div", "class", "item", "regexp");
foreach (HtmlElement item in items) {
// if (item.InnerText == project.Variables["url"].Value) {
// item.RiseEvent("click", "Full");
// }
}
Последнее редактирование: