У меня есть автоматизированные тестовые скрипты, и они отлично работают в Chrome. Теперь расширяем поддержку Edge и IE11. Некоторые тестовые сценарии не работают в браузере Edge. Те же локаторы работают нормально в Chrome, но в Edge они не работают. Есть ли у нас способ идентифицировать xpath и css, такие как Chrome, в браузере Edge?
Я просто хочу убедиться, что xpath соответствует одним и тем же элементам в Chrome и браузере Edge.
Есть ли у нас способ проверить xpath и css в браузере Edge, как мы проверяем в Chrome, используя $ x () и $$ () в консоли?
В chrome с консоли, используя '$ x', мы можем взять xpath. Есть ли у нас способ получить xpath и CSS в браузере Edge?
@DebanjanB Я создал относительный xpath, и они отлично работают в chrome и firefox.
@DebanjanB Мой вопрос: «Есть ли у нас способ получить xpath и CSS в браузере Edge?»
@Downvoters, не могли бы вы объяснить, почему вы проголосовали против? В chrome мы можем проверить относительный xpath с помощью $ x () и CSS с помощью $$ () в консоли. Мой вопрос: есть ли у нас способ проверить, что xpath и css работают в браузере Edge?
Этот вопрос по-прежнему звучит как XY проблема. Вместо того, чтобы просить помощи в решении проблемы, отредактируйте свой вопрос и спросите о реальной проблеме. Что вы пытаетесь сделать и где застряли?
@DebanjanB спасибо за ваше предложение. но я ясно с моим вопросом. Есть ли у нас способ проверить xpath и css в браузере Edge, как мы проверяем в Chrome, используя $ x () и $$ () в консоли? Если у вас есть решение, пожалуйста, помогите мне
@Andersson Я знаю значение "относительного xpath" и знаю, как писать относительный xpath. Пожалуйста, внимательно прочтите вопрос, затем прокомментируйте






И да и нет.
Селекторы CSS
Нет, в Edge нет функции копирования селекторов CSS с помощью инструментов разработчика, как это делают другие браузеры.
Да, если вы напишете их самостоятельно, вы можете использовать $$() в консоли, чтобы убедиться, что они работают.
XPath
Нет, в Edge нет функции копирования селекторов XPath с помощью инструментов разработчика, как это делают другие браузеры.
Да, вы можете использовать $x(), чтобы проверить, работают ли они.
Разве мы не должны всегда писать свои собственные локаторы? Вместо того, чтобы полагаться на какой-то сторонний инструмент.
@cruisepandey Согласен. Написание собственных локаторов - лучший способ получить хороший и надежный локатор, но когда вы новичок, полезно иметь возможность использовать такой инструмент для обучения. OP заявил, что он пишет свои собственные локаторы. Я просто подтвердил, что нет возможности копировать локаторы, но вы можете их проверить.
@JeffC и cruisepandey Я пишу собственные локаторы и проверяю их с помощью $ x () и $$ () в консоли браузера Chrome.
@JeffC благодарим за ответ, но, к сожалению, мы не можем проверить локаторы в консоли Edge, используя $$ () для CSS и $ x () для xpath. пожалуйста, поправьте меня, если я ошибаюсь. В настоящее время используется Microsoft Edge 41.16299.371.0
Я тестировал его вчера, и он отлично работал у меня в Microsoft Edge 42.17134.1.0.
К вашему сведению: я только что проверил, что «$ x ()» для xpath и «$$ ()» для css отлично работают в 42.17134.1.0, однако они не работают в 41.16299.371.0.
В соответствии с вашим вопросом для идентификации xpath и css в Браузер Edge встроенный протокол отладки, то есть Протокол DevTools будет удовлетворять ваши потребности. Протокол DevTools для Браузер 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 из протокола отладчика 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
Соответствующий HTML, испытания кода и трассировка стека ошибок, пожалуйста