Selenium Java - inspect元素和页面源显示不同的信息

Vas*_*K V 5 java selenium jsoup selenium-webdriver

我正在尝试使用selenium web驱动程序浏览页面,我被困在一点请参考我已经显示我正在处理的那个页面的inspect元素输出的图像.

检查元素输出

但在页面源代码(我在浏览器上看到并使用Jsoup)看起来像这样,

<html>
<head>
</head>
<frameset rows="75,60,*" resize="no" SCROLLING="NO" name=main border="0">   
<frame src="/frame/topnewprof.shtml" name="top" SCROLLING=NO>
<frame src="/frame/blank.html" name="menu" SCROLLING=NO >
<frame src="/itrade/user/welcome.exe?action=chk_seckey_stat" name="body" SCROLLING=AUTO>
</frameset>
<body>&nbsp;
</BODY></html>
Run Code Online (Sandbox Code Playgroud)

为什么这不匹配?我在上面的图片中突出显示的黄色东西有我需要的元素!我将如何使用硒?我知道我们可以使用selenium导航到iframe,switchTo().frame()但即使我进入页面源信息中的上述三个帧中的任何一个,我也无法找到我需要的信息,这可以实现吗?它甚至可能吗?

更新:大家好 !我找到了解决这个问题的方法,现在已经克服了这个问题.实际上发生的事情是,当我试图做getPageSource时,selenium实际上得到了其中一个帧("body" - 如上所述)的帧源,我不小心想出来了.接下来解决我的问题,我想从我所在的地方退一步,所以我可以选择这个iframe =(name ="top"),这是我有图像所示内容的目标.为了实现这一点,我使用了Selenium的defaultContent()函数,然后使用switchTO()返回了一步.frame()进入了我想要的框架并完成了任务

希望这可以帮助!!并感谢所有试图帮助我的人.

Vas*_*K V 0

我找到了解决这个问题的方法,现在这个问题已经解决了。实际上发生的事情是,当我尝试执行 getPageSource 时,selenium 实际上正在获取其中一个框架的框架源(“body” - 如上所述),我意外地发现了这一点。接下来为了解决我的问题,我想从原来的位置退一步,这样我就可以选择这个 iframe = (name="top") 这是我拥有如图所示内容的目标。为了实现这一目标,我使用了 Selenium 的 defaultContent() 函数,然后返回一步,然后使用 switchTO().frame() 进入我想要的框架并完成任务

希望这可以帮助!!并感谢所有试图在这方面帮助我的人。