Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о немного нестандартных применениях такого хорошо известного формализма как XPath. Все знают, что он очень удобен для извлечения информации из XML- или HTML- или еще каких-нибудь *ML-документов (как простых текстовых, так и каких-нибудь виртуальных, которые являются верхним слоем представления какой-либо сложной информации), то есть для того, чтобы задавать этим документам какие-либо вопросы. Однако известно, что чем лучше сформулирован вопрос, тем большую часть ответа он уже содержит. Поэтому напрашивается простая мысль – а нельзя ли использовать записанные на XPath выражения как утверждающие, то есть достраивающие документ таким образом, чтобы это XPath-выражение было истинным? Думаю можно, и это первое, о чем здесь пойдет речь. И второе – если уж мы научимся путем прямого применения XPath создавать новые элементы в документе, то нельзя ли превратить XPath в простой алгоритмический язык программирования? В самом деле, обращаться к данным умеет, создавать данные умеет. Несложно представить, как на нем описать последовательность операторов и оператор ветвления, остается подумать о циклах в нем и о функциях. Это интересно, ну хотя бы, теоретически. И об этом тоже пойдет речь.
Читать полностью »
Рубрика «xpath»
Конструирующий XPath? Алгоритмический XPath? Ничего, кроме XPath
2019-08-24 в 19:49, admin, рубрики: XML, xpath, порождение программ, Программирование, язык программированияВзаимные превращения JSON, YAML, XML
2018-04-04 в 9:58, admin, рубрики: java, json, XML, xpath, xquery, yaml, данные, конвертация, Программирование, форматыJSON, YAML сейчас популярны, а XML технологии считаются пережитком прошлого.
Попробуем использовать «ретро технологии» для работы с данными в формате JSON и YAML. И порассуждаем о причинах применять их в наши дни.
Читать полностью »
Селекторы CSS и их применение в автоматизации тестирования Программного Обеспечения
2018-03-03 в 0:16, admin, рубрики: css, qa, xpath, Блог компании Отус, Тестирование веб-сервисовВсем добра!
Данную тему мы уже раскрывали на вебинаре, который проводил наш преподаватель, но решили дополнить чуть текстом (да и многим, как оказалось, так удобнее). В общем представляем статью на тему «Селекторы CSS», которую Павел Попов прорабатывал в рамках нашего курса «Автоматизация в тестировании».
Поехали.
Каждый курс или статья для начинающих автоматизаторов рассказывает об удобном и универсальном средстве поиска элементов Web-страницы, как XPath. Данный вид локаторов на элемент был создан в 1999 году для указания на элементы в XML файлах. С помощью встроенных функций XPath стал очень популярным инструментом поиска элементов на Web-странице. Если HTML код вашего приложения выглядит как-то так:
…
<form class=“form_upload>
<div>
<div class=“row_element_3 row tile_fixed”>
<div class=“button_cell wrapper_tile”>
<button type=“submit” class=“button_submit wrapper_button”>Нажми меня </button>
…
и вы не можете найти достойный XPath для кнопки “Нажми меня”, не стоит сразу бежать в сторону разработчика с просьбой о помощи. Есть отличная возможность воспользоваться CSS селектором, он будет выглядеть так:
.button_submit
Добро пожаловать в мир CSS.
Проблемы извлечения информации с веб-страниц автоматизированным способом
2017-11-06 в 10:57, admin, рубрики: curl, html, phantomjs, scraping, xpath, веб-аналитика, поисковые технологииИнформация, находящаяся в свободном доступе на веб-сайтах сети Интернет, с одной стороны, кажется общедоступной — если что-то выложено в сеть, то это можно скопировать тем или иным способом. С другой — при попытках автоматизировать сбор и анализ таких данных с какой-нибудь целью (например веб-поиска или статистики), как оказывается, возникает множество проблем в деталях. Поэтому не удивительно, что успешные системы такого рода единичны в глобальном масштабе — Google, Bing, Baidu и Яндекс. В данной статье приведу некоторые примеры с которыми столкнулся лично автор в попытках отладить сбор данных о рынке труда (вакансии, резюме и зарплаты) с публичных веб-сайтов. Это может пригодиться тем, кто вдохновится идеями типа I Don't Need No Stinking API: Web Scraping For Fun and Profit и решит парсить контент с чужих сайтов напрямую вместо того, чтобы договориться с владельцами о доступе к данным по API или другим эффективным способом.Читать полностью »
Интеграция XML данных — другой путь
2017-03-29 в 15:00, admin, рубрики: big data, data warehouse, olap, sql server, XML, xpath, xslt, Анализ и проектирование системВ данной статье описывается «нетрадиционная», но достаточно мощная технология обработки XML, позволяющая импортировать любые XML-данные и преобразовывать их структуру эффективно и просто, при этом один и тот же процесс обработки позволяет трансформировать исходные данные любой структуры без какого-либо изменения программного кода.
Читать полностью »
SQL и XPath против РосРеестра
2016-08-07 в 18:35, admin, рубрики: sql, xpath, Учебный процесс в IT, метки: ГИСУже несколько лет РосРеестр выдаёт данные в формате XML, а с недавних пор – только в XML. И это замечательно! Ведь это удобный, человек-читаемый и машино-читаемый формат, для работы с которым существует огромное количество инструментов. Но Кадастровым Инженерам почему то, подавай данные в таких древних форматах как .tab и .shp – ведь только с этими форматами они умеют работать в своих ГИС. Для решения этой проблемы подключилась куча корыстных и бескорыстных людей – и в результате КИ получили кучу конвертеров в свои любимые программы. Но есть маленькая проблема – РосРеестр имеет привычку менять xml-схемы, молча и без предупреждения. В результате работа КИ парализуется, ведь они не способны работать с XML!
Find.By — finding & verifying locators
2016-08-02 в 13:06, admin, рубрики: automation, C#, locators, plugins, ReSharper, Visual Studio, xpath, ПрограммированиеНачну эту статью с того, что я работаю QA Automationg и того, что я люблю автоматизировать все рутинные действия. Так вот в последнее время для меня таковым стало написание, редактирование и проверка локаторов к элементам на странице.
Обычно это процесс выглядит так: я пишу xpath выражение в chrome или firepath, потом копирую его и добавляю атрибут к элементу в C# коде. Но локаторы часто нужно исправлять или просто проверить, на какой элемент он указывает. И даже такое просто изменение предиката как [@id='myId'] на [contains(@id = 'Id')] заканчивается падением теста во время выполнения потому, что я написал '=' вместо ',' и поленился проверить изменения. В общем, слишком много действий с копированием, вставкой, переключений между окнами и тому подобного для такой простой задачи. Решил я написать плагин для ReSharper, который бы по Alt+Enter подсвечивал мой элемент в браузере.
Читать полностью »
Web Scrapping с помощью python
2016-03-26 в 20:43, admin, рубрики: beautiful soup, data mining, lxml, python, xpathВведение
Недавно заглянув на КиноПоиск, я обнаружила, что за долгие годы успела оставить более 1000 оценок и подумала, что было бы интересно поисследовать эти данные подробнее: менялись ли мои вкусы в кино с течением времени? есть ли годовая/недельная сезонность в активности? коррелируют ли мои оценки с рейтингом КиноПоиска, IMDb или кинокритиков?
Но прежде чем анализировать и строить красивые графики, нужно получить данные. К сожалению, многие сервисы (и КиноПоиск не исключение) не имеют публичного API, так что, приходится засучить рукава и парсить html-страницы. Именно о том, как скачать и распарсить web-cайт, я и хочу рассказать в этой статье.
В первую очередь статья предназначена для тех, кто всегда хотел разобраться с Web Scrapping, но не доходили руки или не знал с чего начать.
Off-topic: к слову, Новый Кинопоиск под капотом использует запросы, которые возвращают данные об оценках в виде JSON, так что, задача могла быть решена и другим путем.Читать полностью »
Поддержка DOM L3 XPath в Project Spartan
2015-03-19 в 21:58, admin, рубрики: DOM L3, ie, internet explorer, javascript, microsoft, open source, Project Spartan, Windows 10, windows 10 technical preview, XML, xpath, Веб-разработка, веб-стандарты, метки: Microsoft, Project Spartan, XPath Примечание от переводчика: я серверный Java-программист, но при этом так исторически сложилось, что работаю исключительно под Windows. В команде все сидят в основном на Mac или Linux, но кто-то же должен вживую тестировать веб-интерфейсы проектов под настоящим IE, кому как не мне? Так что я уже довольно много лет использую его и по рабочей необходимости, и — в силу лени — в качестве основного браузера. По-моему, с каждой новой версией, начиная с девятой, он становится всё более и более достойным, а Project Spartan и вовсе обещает быть отличным. По крайней мере, в технологическом плане — на равных с другими. Предлагаю вашему вниманию перевод статьи из блога разработчиков, дающей некоторые основания на это надеяться.
Обеспечивая совместимость с DOM L3 XPath
Поставив перед собой задачу обеспечить в Windows 10 по-настоящему совместимую и современную веб-платформу, мы постоянно работаем над улучшением поддержки стандартов, в частности, в отношении DOM L3 XPath. Сегодня нам хотелось бы рассказать, как мы этого добились в Project Spartan.
Читать полностью »