Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 标记是否可能存在于dom中而不存在于页面上?_Javascript_Html_Selenium_Dom_Xpath - Fatal编程技术网

Javascript 标记是否可能存在于dom中而不存在于页面上?

Javascript 标记是否可能存在于dom中而不存在于页面上?,javascript,html,selenium,dom,xpath,Javascript,Html,Selenium,Dom,Xpath,我遇到了这样一种情况:我使用xpath在DOM中找到了一个“anchor”标记,但在页面上找不到相应的元素,在测试特定标记时,click()操作起了作用。这可能吗?检查CSS属性,特别是 显示:无 有许多可能的选择。 与前面的答案一样,它可能有显示:none。如果您的特定元素不是这种情况,它可能会从父节点继承。它的CSS类可能包含这个,可能涉及多个CSS类,仅举几个想到的例子 现在谈谈click()方法的实际工作情况……这是因为Selenium WebDriver不使用常规鼠标光标(您在屏幕上看

我遇到了这样一种情况:我使用xpath在DOM中找到了一个“anchor”标记,但在页面上找不到相应的元素,在测试特定标记时,click()操作起了作用。这可能吗?

检查CSS属性,特别是

显示:无


有许多可能的选择。 与前面的答案一样,它可能有
显示:none
。如果您的特定元素不是这种情况,它可能会从父节点继承。它的CSS类可能包含这个,可能涉及多个CSS类,仅举几个想到的例子


现在谈谈
click()
方法的实际工作情况……这是因为Selenium WebDriver不使用常规鼠标光标(您在屏幕上看到的鼠标光标)来实际单击或悬停元素,但所有操作都是在内部完成的。

我认为不是这样。但我认为缺少了一些细节——当你在页面上说“无处可寻”时,你是什么意思?显示的页面,或源代码,或什么?显示的页面在这种情况下,链接可以隐藏(未显示)、隐藏(有东西放在它前面)、简单显示但不可见(没有内容,所以维度为零)或其他。在DOM中完全可能有您看不到的东西,事实上这是非常常见的。此标记引用了另一个页面,并且在使用selenium.Unrelated单击时起作用。正如我所说的,您可以拥有一个DOM元素,但无法看到它。我甚至列出了实现这一目标的三种可能性。最后一个也应该与硒一起使用。由于没有一种方法可以做到这一点,如果您想知道当前无法看到元素的确切原因,请打开开发人员控制台并检查它。我们不能在不了解任何上下文的情况下直接说出原因是什么。唯一可以肯定的是直接回答标题中的问题-是的,情况是可能的。没有这样的属性。但是,此标记显示在同一网站的不同页面上。应用于此标记的css属性是什么。你能在chrome控制台中检查计算机css属性吗?背景:rgb(204136136);边框:2倍纯红;