我有自动化的测试脚本,它们在Chrome上运行良好 . 现在扩展了对Edge和IE11的支持 . 边缘浏览器上几乎没有测试脚本失败 . 相同的定位器在chrome中运行良好,但在Edge中它们不起作用 . 我们有没有办法在Edge浏览器中识别像chrome一样的xpath和css?
我只是想验证xpath是否与Chrome和边缘浏览器中的相同元素匹配 .
我们有没有办法在Edge浏览器上验证xpath和css,就像我们在控制台中使用$ x()和$$()在chrome上验证一样?
根据您在Edge Browser中识别xpath和css的问题,内置的调试协议即 DevTools Protocol 将满足您的需求 . Edge浏览器的 DevTools Protocol 仍然是正在进行的工作 .
话虽如此,你仍然可以使用Microsoft Edge Diagnostics Adapter暴露一个共同的协议 .
Microsoft Edge Diagnostics Adapter是一个协议适配器,使工具可以使用Chrome DevTools Protocol调试和诊断Microsoft Edge . 最新版本的Microsoft Edge Diagnostics Adapter适用于Windows 10 - 14393 x64 .
npm install edge-diagnostics-adapter
您也可以从releases page of edge-diagnostics-adapter下载
在本地安装后,您可以按如下方式执行:
node /path/to/edge-diagnostics-adapter/out/src/edgeAdapter.js --port=9222 --servetools
现在,您可以导航到 localhost:9222 并查看所有可调试目标的列表 .
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
是的,不是 .
CSS Selectors
不,Edge没有像其他浏览器那样使用开发工具复制CSS选择器的功能 .
是的,如果你自己编写,你可以在控制台中使用 $$() 来验证它们是否有效 .
$$()
XPath
不,Edge没有像其他浏览器那样使用开发工具复制XPath选择器的功能 .
是的,您可以使用 $x() 来测试它们是否有效 .
$x()
2 回答
根据您在Edge Browser中识别xpath和css的问题,内置的调试协议即 DevTools Protocol 将满足您的需求 . Edge浏览器的 DevTools Protocol 仍然是正在进行的工作 .
话虽如此,你仍然可以使用Microsoft Edge Diagnostics Adapter暴露一个共同的协议 .
Microsoft Edge诊断适配器
Microsoft Edge Diagnostics Adapter是一个协议适配器,使工具可以使用Chrome DevTools Protocol调试和诊断Microsoft Edge . 最新版本的Microsoft Edge Diagnostics Adapter适用于Windows 10 - 14393 x64 .
安装和使用
您也可以从releases page of edge-diagnostics-adapter下载
在本地安装后,您可以按如下方式执行:
查看并检查可调试目标
现在,您可以导航到
localhost:9222
并查看所有可调试目标的列表 .支持的功能和API
以下是Chrome调试器协议中支持的API列表:
或者,您也可以下载protocol.json
是的,不是 .
CSS Selectors
不,Edge没有像其他浏览器那样使用开发工具复制CSS选择器的功能 .
是的,如果你自己编写,你可以在控制台中使用
$$()
来验证它们是否有效 .XPath
不,Edge没有像其他浏览器那样使用开发工具复制XPath选择器的功能 .
是的,您可以使用
$x()
来测试它们是否有效 .