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.89。 Chrome 版本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 检查元素,发现没有像以前那样以黄色突出显示的结果的主要内容,如果未能解决你的问题,请参考以下文章