有没有办法在Edge浏览器中获取xpath和CSS?

时间:2018-07-11 11:30:52

标签: css selenium selenium-webdriver xpath microsoft-edge

我有自动测试脚本,它们在Chrome上运行良好。现在扩展了对Edge和IE11的支持。很少有测试脚本在Edge Browser上失败。相同的定位器在chrome中工作正常,但在Edge中不工作。我们有什么方法可以在Edge浏览器中识别xpath和CSS(例如chrome)吗?

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

我们是否可以像在控制台中使用$ x()和$$()在chrome上进行验证那样,在Edge浏览器上验证xpath和CSS?

2 个答案:

答案 0 :(得分:0)

是,不是。

CSS选择器

不,Edge无法像其他浏览器一样使用开发工具复制CSS选择器。

是的,如果您自己编写它们,则可以在控制台中使用project-2来验证它们是否有效。

XPath

否,Edge无法像其他浏览器一样使用开发工具复制XPath选择器。

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

答案 1 :(得分:0)

根据您的问题在Edge浏览器内置的调试协议中识别 xpath css DevTools协议将满足您的需求。 Edge浏览器 DevTools协议仍然是正在进行中的

话虽如此,您仍然可以使用公开通用协议的Microsoft Edge Diagnostics Adapter


Microsoft Edge诊断适配器

Microsoft Edge Diagnostics Adapter是一个协议适配器,使工具可以使用Chrome DevTools Protocol来调试和诊断Microsoft Edge。最新版本的Microsoft Edge诊断适配器可在Windows 10-14393 x64中使用。

Installation and Usage

  • 通过npm安装Microsoft Edge诊断适配器:

    npm install edge-diagnostics-adapter
    
  • 您也可以从releases page of edge-diagnostics-adapter

  • 下载它
  • 在本地安装后,可以执行以下操作:

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

View and Inspect Debuggable Targets

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

Supported features and 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