Лучший отвечающий
powershell selenium ymaps

Вопрос
-
хочу кликнуть в браузере html элемент с помощью powershell + selenium
Вот пример одного из элементов который я бы хотел кликнуть.
<ymaps class="ymaps-2-1-38-html-placemark-overlay ymaps-2-1-38-user-selection-none" unselectable="on" style="z-index: 680; height: 0px; width: 0px; ; left: 998px; top: 614px;">
<ymaps>
<div class="search-map-result-view">
<div class="search-map-result-view__icon">
</div><div class="search-map-result-view__title">Бухгалтер Ляпич Т.Г.</div>
<div class="search-map-result-view__fake-icon">
</div>
</div>
</ymaps>
</ymaps>
отыскиваю элементы так
$b = $ie.FindElementsByClassName("ymaps-2-1-38-html-placemark-overlay")
Их находит 20 шт
Если посмотреть в hmtl - то количество найденных совпадает с имеющимися
Если попытаться кликнуть по какому нибудь
$b[0].click()
То получаем ошибку
Element is not clickable at point (1147, 271). Other element would receive the click: <ymaps class="ymaps-2-1-38-events-pane ymaps-2-1-38-user-selection-none"
https://lh3.googleusercontent.com/-Td98M2ow7Eo/VxG4meexCUI/AAAAAAAACx4/3-RNaz6_Mf4/s0/screenshot%2525202016-04-16%252520001.jpg
Если попытаться найти
$b = $ie.FindElementsByClassName("ymaps-2-1-38-events-pane")
То такой элемент всего один и да его можно кликнуть.
Но мне нужны все 20
Если попытаться найти так
$b = $ie.FindElementsByClassName("ymaps-2-1-38-html-placemark-overlay ymaps-2-1-38-user-selection-none")
то получилчм ошибку
invalid selector: Compound class names not permitted
https://lh3.googleusercontent.com/-_0oK2-kGS3k/VxG6kEbQajI/AAAAAAAACyE/IAUBmCOyVEs/s0/screenshot%2525202016-04-16%252520002.jpg
Вот url странички.
https://yandex.ru/maps/157/minsk/?ll=27.561831%2C53.924047&z=12&text=%D0%B1%D1%83%D1%85%D0%B3%D0%B0%D0%BB%D1%82%D0%B5%D1%80&sll=27.561831%2C53.924047&sspn=0.511551%2C0.124827
вот html от этой странички
http://www.everfall.com/paste/id.php?8mj5ky3re6oj
Собственно как выбрать то что мне нужно.
Чтобы по этому потом можно было кликать?
Хочу кликнуть по жирным точкам на карте.16 апреля 2016 г. 4:17
Ответы
-
Использовать IE или FireFox, там таких проблем нет.
или так:
$el = $ie.FindElementsByClassName("search-map-result-view__title") | Where {$_.Text -match "ЛидерПартнер"} $action = New-Object OpenQA.Selenium.Interactions.Actions($ie) $action.MoveToElement($el).Click().Perform()
- Изменено KazunEditor 16 апреля 2016 г. 19:24
- Помечено в качестве ответа korggrodno3 17 апреля 2016 г. 3:08
16 апреля 2016 г. 19:18Отвечающий
Все ответы
-
$ie.FindElementsByClassName("search-map-result-view__title") | % Text Бухгалтерский Дозор ЧУП Агентство ОфисТайм ЛидерПартнер Джиайпи-Бухгалтер Деловой Квартал Бухгалтерские услуги Бизнесстарт Профессиональный Бухгалтер УП Хороший Бухгалтер Бухгалтер Ляпич Т.Г. СуТехБел Арлепта $ie.FindElementsByClassName("search-map-result-view__title") | Where {$_.Text -match "СуТехБел"} | Foreach {$_.Click()} $ie.SwitchTo().ActiveElement().Text.split("`n") -match "СутехБел|\+3" СуТехБел СуТехБел +375 (17) 288-21-71
16 апреля 2016 г. 16:19Отвечающий -
что то у меня выдает ошибку
https://lh3.googleusercontent.com/-q2aHX5qODnM/VxKDH6jJ0cI/AAAAAAAACys/R7pZ0WOs72U/s0/screenshot%2525202016-04-16%252520002.jpg
16 апреля 2016 г. 18:23 -
Использовать IE или FireFox, там таких проблем нет.
или так:
$el = $ie.FindElementsByClassName("search-map-result-view__title") | Where {$_.Text -match "ЛидерПартнер"} $action = New-Object OpenQA.Selenium.Interactions.Actions($ie) $action.MoveToElement($el).Click().Perform()
- Изменено KazunEditor 16 апреля 2016 г. 19:24
- Помечено в качестве ответа korggrodno3 17 апреля 2016 г. 3:08
16 апреля 2016 г. 19:18Отвечающий