我有自动测试脚本,它们在Chrome上运行良好。现在扩展了对Edge和IE11的支持。很少有测试脚本在Edge Browser上失败。相同的定位器在chrome中工作正常,但在Edge中不工作。我们有什么方法可以在Edge浏览器中识别xpath和CSS(例如chrome)吗?
我只想验证xpath是否与Chrome和Edge浏览器中的相同元素匹配。
我们是否可以像在控制台中使用$ x()和$$()在chrome上进行验证那样,在Edge浏览器上验证xpath和CSS?
答案 0 :(得分:0)
是,不是。
CSS选择器
不,Edge无法像其他浏览器一样使用开发工具复制CSS选择器。
是的,如果您自己编写它们,则可以在控制台中使用project-2
来验证它们是否有效。
XPath
否,Edge无法像其他浏览器一样使用开发工具复制XPath选择器。
是的,您可以使用$$()
来测试它们是否有效。
答案 1 :(得分:0)
根据您的问题在Edge浏览器内置的调试协议中识别 xpath 和 css DevTools协议将满足您的需求。 Edge浏览器的 DevTools协议仍然是正在进行中的。
话虽如此,您仍然可以使用公开通用协议的Microsoft Edge Diagnostics Adapter。
Microsoft Edge Diagnostics Adapter是一个协议适配器,使工具可以使用Chrome DevTools Protocol来调试和诊断Microsoft Edge。最新版本的Microsoft Edge诊断适配器可在Windows 10-14393 x64中使用。
通过npm安装Microsoft Edge诊断适配器:
npm install edge-diagnostics-adapter
在本地安装后,可以执行以下操作:
node /path/to/edge-diagnostics-adapter/out/src/edgeAdapter.js --port=9222 --servetools
现在,您可以导航到localhost:9222
并查看所有可调试目标的列表。
以下是受支持的Chrome调试器协议中的API的列表:
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