Есть ли способ получить xpath и css в браузере Edge?

У меня есть автоматизированные тестовые скрипты, и они отлично работают в Chrome. Теперь расширяем поддержку Edge и IE11. Некоторые тестовые сценарии не работают в браузере Edge. Те же локаторы работают нормально в Chrome, но в Edge они не работают. Есть ли у нас способ идентифицировать xpath и css, такие как Chrome, в браузере Edge?

Я просто хочу убедиться, что xpath соответствует одним и тем же элементам в Chrome и браузере Edge.

Есть ли у нас способ проверить xpath и css в браузере Edge, как мы проверяем в Chrome, используя $ x () и $$ () в консоли?

Соответствующий HTML, испытания кода и трассировка стека ошибок, пожалуйста

DebanjanB 11.07.2018 13:33

В chrome с консоли, используя '$ x', мы можем взять xpath. Есть ли у нас способ получить xpath и CSS в браузере Edge?

Shital Mokashi 11.07.2018 13:35
XPath, полученный с помощью любых инструментов, будет абсолютный xpath, который будет шелушащийся и хрупкий при использовании в нескольких браузерах. Вместо этого создайте относительный xpath.
DebanjanB 11.07.2018 13:39

@DebanjanB Я создал относительный xpath, и они отлично работают в chrome и firefox.

Shital Mokashi 11.07.2018 13:42

@DebanjanB Мой вопрос: «Есть ли у нас способ получить xpath и CSS в браузере Edge?»

Shital Mokashi 11.07.2018 13:43

@Downvoters, не могли бы вы объяснить, почему вы проголосовали против? В chrome мы можем проверить относительный xpath с помощью $ x () и CSS с помощью $$ () в консоли. Мой вопрос: есть ли у нас способ проверить, что xpath и css работают в браузере Edge?

Shital Mokashi 12.07.2018 07:41

Этот вопрос по-прежнему звучит как XY проблема. Вместо того, чтобы просить помощи в решении проблемы, отредактируйте свой вопрос и спросите о реальной проблеме. Что вы пытаетесь сделать и где застряли?

DebanjanB 12.07.2018 08:19

@DebanjanB спасибо за ваше предложение. но я ясно с моим вопросом. Есть ли у нас способ проверить xpath и css в браузере Edge, как мы проверяем в Chrome, используя $ x () и $$ () в консоли? Если у вас есть решение, пожалуйста, помогите мне

Shital Mokashi 12.07.2018 08:53

@Andersson Я знаю значение "относительного xpath" и знаю, как писать относительный xpath. Пожалуйста, внимательно прочтите вопрос, затем прокомментируйте

Shital Mokashi 12.07.2018 10:41
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
9
6 146
2

Ответы 2

И да и нет.

Селекторы CSS

Нет, в Edge нет функции копирования селекторов CSS с помощью инструментов разработчика, как это делают другие браузеры.

Да, если вы напишете их самостоятельно, вы можете использовать $$() в консоли, чтобы убедиться, что они работают.

XPath

Нет, в Edge нет функции копирования селекторов XPath с помощью инструментов разработчика, как это делают другие браузеры.

Да, вы можете использовать $x(), чтобы проверить, работают ли они.

Разве мы не должны всегда писать свои собственные локаторы? Вместо того, чтобы полагаться на какой-то сторонний инструмент.

cruisepandey 11.07.2018 16:13

@cruisepandey Согласен. Написание собственных локаторов - лучший способ получить хороший и надежный локатор, но когда вы новичок, полезно иметь возможность использовать такой инструмент для обучения. OP заявил, что он пишет свои собственные локаторы. Я просто подтвердил, что нет возможности копировать локаторы, но вы можете их проверить.

JeffC 11.07.2018 16:29

@JeffC и cruisepandey Я пишу собственные локаторы и проверяю их с помощью $ x () и $$ () в консоли браузера Chrome.

Shital Mokashi 12.07.2018 07:32

@JeffC благодарим за ответ, но, к сожалению, мы не можем проверить локаторы в консоли Edge, используя $$ () для CSS и $ x () для xpath. пожалуйста, поправьте меня, если я ошибаюсь. В настоящее время используется Microsoft Edge 41.16299.371.0

Shital Mokashi 12.07.2018 07:33

Я тестировал его вчера, и он отлично работал у меня в Microsoft Edge 42.17134.1.0.

JeffC 12.07.2018 19:15

К вашему сведению: я только что проверил, что «$ x ()» для xpath и «$$ ()» для css отлично работают в 42.17134.1.0, однако они не работают в 41.16299.371.0.

sjethvani 04.10.2018 11:27

В соответствии с вашим вопросом для идентификации xpath и css в Браузер Edge встроенный протокол отладки, то есть Протокол DevTools будет удовлетворять ваши потребности. Протокол DevTools для Браузер Edge по-прежнему является Работа в процессе.

При этом вы все еще можете использовать Адаптер диагностики Microsoft Edge, который предоставляет общий протокол.


Адаптер диагностики Microsoft Edge

Адаптер диагностики Microsoft Edge - это адаптер протокола, который позволяет инструментам отлаживать и диагностировать Microsoft Edge с помощью Протокол Chrome DevTools. Последняя версия адаптера диагностики Microsoft Edge работает в Windows 10 - 14393 x64.

Установка и использование

  • Установите адаптер диагностики Microsoft Edge через npm:

    npm install edge-diagnostics-adapter
    
  • Вы также можете скачать его с выпускает страницу адаптера Edge-Diagnostics

  • После локальной установки вы можете выполнить его следующим образом:

    node /path/to/edge-diagnostics-adapter/out/src/edgeAdapter.js --port=9222 --servetools
    

Просмотр и проверка отлаживаемых целей

Теперь вы можете перейти к localhost:9222 и увидеть список всех отлаживаемых целей.

Поддерживаемые функции и API

Ниже приведен список поддерживаемых API из протокола отладчика Chrome:

Area        Method
----        ------
CSS         getComputedStyleForNode
CSS         getInlineStylesForNode
CSS         getMatchedStylesForNode
CSS         setPropertyText
CSS         getStyleSheetText
Debugger    canSetScriptSource
Debugger    disable
Debugger    enable
Debugger    evaluateOnCallFrame
Debugger    getScriptSource
Debugger    pause
Debugger    removeBreakpoint
Debugger    resume
Debugger    setBreakpointByUrl
Debugger    stepInto
Debugger    stepOut
Debugger    stepOver
DOM         getAttributes
DOM         getDocument
DOM         getOuterHTML
DOM         hideHighlight
DOM         highlightNode
DOM         pushNodeByPathToFrontend
DOM         pushNodesByBackendIdsToFrontend
DOM         querySelector
DOM         querySelectorAll
DOM         requestChildNodes
DOM         setInspectModeEnabled
Network     enable
Network     clearBrowserCache
Network     setCacheDisabled
Network     requestWillBeSent
Network     responseReceived
Network     getResponseBody
Page        canEmulate
Page        canScreencast
Page        deleteCookie
Page        enable
Page        getAnimationsPlaybackRate
Page        getCookies
Page        getNavigationHistory
Page        getResourceTree
Page        loadEventFired
Page        navigate
Page        reload
Page        setOverlayMessage
Page        setShowViewportSizeOnResize
Page        screencastFrameAck
Page        startRecordingFrames
Page        startScreencast
Page        stopRecordingFrames
Page        stopScreencast
Runtime     callFunctionOn
Runtime     enable
Runtime     evaluate
Runtime     getProperties

Как вариант, вы также можете скачать protocol.json

Другие вопросы по теме