我有一个窗口,我有四个链接
-
退出按钮链接 -
<a id="exitBtn" class="x-btn questionpreview_exitbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 0px; top: 0px; margin: 0px;">
-
提交按钮链接 -
<a id="submitBtn" class="x-btn questionpreview_submitbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 864px; top: 0px; margin: 0px;">
-
后退按钮链接 -
<a id="prevBtn" class="x-btn questionpreview_backbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 733px; top: 0px; margin: 0px; display: none;">
-
评论按钮链接 -
<a id="reviewBtn" class="x-btn questionpreview_reviewbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 798px; top: 0px; margin: 0px; display: none;">
在这五个按钮中,只有两个按钮(退出和提交)在第一个窗口中可见 . 当我点击使用此定位器的提交按钮时:
xpath=//*[contains(text(),'Question Preview')]/ancestor::div[6]//div[@id="previewWindow-body"]//div[@id="preview-top-container"]//*[contains(text(),'Submit')]/ancestor::a`
它工作,下一个窗口打开 . 在下一个窗口中,提交按钮被隐藏,它显示退出,返回和查看按钮
它们看起来像这样
-
退出按钮 -
<a id="exitBtn" class="x-btn questionpreview_exitbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 0px; top: 0px; margin: 0px;">
-
后退按钮 -
<a id="prevBtn" class="x-btn questionpreview_backbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 798px; top: 0px; margin: 0px;">
-
评论按钮 -
<a id="reviewBtn" class="x-btn questionpreview_reviewbtn_sb x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-default-toolbar-small x-noicon x-btn-noicon x-btn-default-toolbar-small-noicon" tabindex="0" unselectable="on" hidefocus="on" style="right: auto; left: 863px; top: 0px; margin: 0px;">
我的问题是当下一个窗口打开时,我无法点击任何或找到这三个按钮中的任何一个 . 我使用xpath作为后退按钮作为 //*[contains(text(),'Back')]/ancestor::a[@id="prevBtn" and not(contains(@style,'display: none'))]
但它无法正常工作 .
1 回答
如果您的代码打开一个新窗口,并且您想要与该窗口进行交互,则需要调用Select Window关键字让selenium知道要查找给定元素的窗口 .