我需要从表“td”得到结果。但在我能做到这一点之前,我需要浏览一个包含它的框架。该框架是属于mainFrame的框架集元素之一。我试图使用所有类型的导航“子”子非其中的工作原理:如何使用Selenium WebDriver导航框架集内的子帧?
driver.switchTo().defaultContent();
Thread.sleep(1000);
driver.switchTo().frame("mainFrame.0.fr_resultsNav~ResultsMaxGroupTemplate0.9766101221774707");
driver.switchTo().frame("main.Frame.1.fr_resultsNav~ResultsMaxGroupTemplate0.8811790466176727");
// even: driver.switchTo().frame("mainFrame.0.fs_main");
以下是该网页的简单布局:
<frame src="banner.asp" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" title="topFrame">
<frame src="" name="mainFrame" id="mainFrame" title="mainFrame" wd_frame_id_="5f4c10bc7e0960070bfda831655b8b0c">
<frameset id="fs_main" border="0" frameborder="no" framespacing="0" rows="70,87,*">
.....................
<frameset id="fs_content" cols="23%,*" framespacing="0" frameborder="no">
.....................
<frameset cols="*,9" id="LeftFrameSet" framespacing="0" frameborder="no">
.....................
<frame frameborder="0" name="fr_classification~ResultsMaxGroupTemplate0.609021034867735" title="Results Classification Frame" id="fr_classification~ResultsMaxGroupTemplate0.609021034867735" src="/lnacui2api/results/shared/waitMessage.do?wmibIdRand=61_T16938265013_rand_1363544453847" scrolling="Auto" onload="paintResultsBorder('ResultsMaxGroupTemplate0.609021034867735');">
....................
<form name="results_listview_ResultsListForm" method="post" action="/lnacui2api/results/listview/listview.do" id="results_listview_ResultsListForm">
..........
<td nowrap="" height="20"> <span id="new"> All Results</span> (294)</td>
</form>
....................
我需要之前导航框架我可以浏览子帧?我阅读文档。所有的互联网例子都给出了一个简单的示例代码:driver.switchTo().frame(“mainFrame.0.child”)。在这种情况下它不起作用。请看看上面的脚本。
谢谢!在切换到新框架之前切换回默认内容是关键。对于任何使用python的人来说,相应的方法是:'driver.switch_to_default_content()' – 2013-06-19 05:49:16
@CHEBURASHKA,链接不工作。你可以请更新吗? – 2016-01-12 10:53:30