首页 文章

有没有办法在Edge Browser中获取xpath和css?

提问于
浏览
-1

我有自动化的测试脚本,它们在Chrome上运行良好 . 现在扩展了对Edge和IE11的支持 . 边缘浏览器上几乎没有测试脚本失败 . 相同的定位器在chrome中运行良好,但在Edge中它们不起作用 . 我们有没有办法在Edge浏览器中识别像chrome一样的xpath和css?

我只是想验证xpath是否与Chrome和边缘浏览器中的相同元素匹配 .

我们有没有办法在Edge浏览器上验证xpath和css,就像我们在控制台中使用$ x()和$$()在chrome上验证一样?

2 回答

  • 0

    根据您在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 .

    安装和使用

    • 通过npm安装Microsoft Edge Diagnostics Adapter:
    npm install edge-diagnostics-adapter
    
    node /path/to/edge-diagnostics-adapter/out/src/edgeAdapter.js --port=9222 --servetools
    

    查看并检查可调试目标

    现在,您可以导航到 localhost:9222 并查看所有可调试目标的列表 .

    支持的功能和API

    以下是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

  • 0

    是的,不是 .

    CSS Selectors

    不,Edge没有像其他浏览器那样使用开发工具复制CSS选择器的功能 .

    是的,如果你自己编写,你可以在控制台中使用 $$() 来验证它们是否有效 .

    XPath

    不,Edge没有像其他浏览器那样使用开发工具复制XPath选择器的功能 .

    是的,您可以使用 $x() 来测试它们是否有效 .

相关问题