Chrome 84 检查元素,发现没有像以前那样以黄色突出显示的结果

Posted

技术标签:

【中文标题】Chrome 84 检查元素,发现没有像以前那样以黄色突出显示的结果【英文标题】:Chrome 84 Inspect element, find results not highlighted in yellow like before 【发布时间】:2020-11-07 16:03:59 【问题描述】:

按照惯例,在进行自动化测试时,我在 Chrome 中使用“检查”(CTRL+SHIFT+I) 通过 xpath、id、CSS 选择器等查找元素。 例如:

//li/a[contains(text(), "Products")]

以上是此页面的 xpath。在以前版本的 Chrome 中,在“DevTools”/“Elements”中按下 CTRL+F 打开“Find”选项并粘贴此 xpath 元素后会在 DevTools 窗口中突出显示。在新版本的 chrome 中它没有突出显示,通常的“1/1”结果显示在“查找”选项卡的最右侧。

我已经搜索了互联网和 Chrome 设置,但无济于事。黄色突出显示可以节省时间,而且我确信我使用了正确的元素。

编辑:已在 Chrome 版本 84.0.4147.105 中修复

感谢您提供更新、建议、解决方法等。

【问题讨论】:

这是一个已经修复的错误,因此 Chrome 的下一次更新将会修复。同时,您可以在搜索文本中添加|*,然后按Enter(或上一个/下一个按钮)。 @DespotAuto 编辑您的问题并将答案添加到其中,这不是 *** 的工作方式。社区成员对此问题发布的答案背后有一些研究和努力。您可以通过单击每个答案旁边的空心勾号来接受答案。接受答案是一种欣赏和引导社区成员找到正确答案的方式。另请阅读What should I do when someone answers my question? 和What does it mean when an answer is "accepted"? 【参考方案1】:

是的,在 Chrome 84 的最新更新中,查找功能存在问题。已经报告了 3 个问题,这些问题目前处于未确认状态(在撰写此答案时)。您可以在下面的链接上关注他们以获取更多详细信息 -

    An element in the elements tab is not highlighted if it is only one in the DOM

    "Find" feature not working on "Elements" tab

    Finding element/xpath wont direct to the object


更新

Elements search does not resolveNode (highlight text, etc) on first search result

已修复,它是版本 84.0.4147.105(官方构建)(64 位)的一部分。您只需要更新并重新启动 chrome。上面提到的问题被标记为与此问题重复。

【讨论】:

【参考方案2】:

主要问题是 DevTools within Google Chrome 84.0 没有突出显示第一个匹配的元素。

如果定位器找到一个匹配项,搜索结果会显示 1 of 1,但 WebElement 未在 DOM Tree 中突出显示

例如,Google Home Page 中的 搜索框 可以使用 css-selector 唯一标识:

[name='q']

或使用xpath:

//*[@name='q']

但在 Google Chrome 84.0 中,google-chrome-devtools 确实找到了该元素并显示了 1 of 1,但该元素未突出显示。

但是,如果有多个元素匹配Locator Strategy,则忽略第一个匹配的元素,其他元素会突出显示。


Chrome 84 中的错误

此问题在 Platform>DevTools 队列中通过 Issue 1108311: The first matched element in the Elements panel is not getting highlighted as per the cssSelector 提出,并已合并到 Issue 1103316: Elements search does not resolveNode (highlight text, etc) on first search result 中,我们正在积极跟踪该问题。


解决方案

根据@bugdroid,主要问题是因为确保搜索结果有效的检查没有考虑索引为0的情况,因此索引0的所有突出显示结果(索引@987654347 @ 给用户)不再突出显示。

此问题的fix 已Merge-Approved 在:

Chrome 版本 84.0 之后是 版本 84.0.4147.89Chrome 版本85.0. Chrome Canary 版本86.0.4201.0

替代解决方案

对于使用当前google-chrome 版本 84.0.4147.89 的替代解决方案,您可以在Why XPath does not highlighted the yellow mark in Chrome84? 中找到详细讨论

【讨论】:

【参考方案3】:

作为一种解决方法,您可以尝试使用 chro 路径扩展,您可以在其中将编写的 xpath 粘贴到搜索框中,并查看在浏览器中突出显示的元素。

此外,您将能够获得由 chropath 本身形成的自动定位器

【讨论】:

【参考方案4】:

我也遇到过类似的问题,第一个匹配的 xpath 在 chrome (mac os mojave) 中不可见。

作为一种解决方法,我使用 chrome 控制台来准确定位 xpath 元素。

步骤:

    打开开发者工具 点击控制台标签 键入命令为:$x("xpath") 并按回车键。

找到下面的图片链接以供参考。

dev console

【讨论】:

【参考方案5】:

另一个选项是转到控制台部分并像这样评估您的 xpath $x("yourXpath") 并按回车键。在谷歌搜索按钮的情况下是这样的: $x("//*[@name='q']") 然后你按回车键并展开下面出现的结构,如果你用鼠标悬停,元素将被突出显示。

【讨论】:

【参考方案6】:

我有同样的问题,但问题是...... 您应该在将光标定位到要检查的特定文本或控件或按钮(等)之后,然后右键单击并选择检查元素,然后在您看到代码的区域中...我的意思是在元素选项卡中打开的 DevTools,将光标放在代码文本的任意位置,然后单击 Ctrl+F,它将打开一个搜索字段 然后输入要查找的元素的绝对或相对 xpath,当路径正确时,您的文本将以黄色突出显示。 令人惊讶的是,如果我只是将光标移出元素选项卡并仍然按 Ctrl+F,搜索字段将打开,但元素并没有像以前那样以黄色突出显示

【讨论】:

【参考方案7】:

我已经开始使用火狐了! 它正在被铬修复 - https://bugs.chromium.org/p/chromium/issues/detail?id=1103316。

应该快出来了。

【讨论】:

以上是关于Chrome 84 检查元素,发现没有像以前那样以黄色突出显示的结果的主要内容,如果未能解决你的问题,请参考以下文章

2019年3月30日

如何使用java获取“检查元素”(Chrome)代码?

HTML5 画布检查器?

禁用右键单击时如何检查chrome中的元素?

Chrome开发人员工具不会检查body标记内的元素(mac OSX)

带有unity3D的Visual Studio不会像以前那样工作[重复]