Xpath无法定位嵌套框架元素



使用Xpath查找嵌套框架的元素时会出现一个问题。我的代码是:

<html>
<head>
<frameset border="0" framespacing="0" frameborder="0">
<frame noresize="" name="main" src="main.py">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<body>
<div id="cboxOverlay" style="display: none;"></div>
<div id="colorbox" class="" style="padding-bottom: 57px; padding-right: 28px; display: none;">
<div id="main_loading" class="main_loading"></div>
<div id="spin_loading" class="spin-loading"></div>
<div id="page_header">
<div id="header2">
<div id="daemons_controller.py" class="header2_menu_div" style="display:none;"></div>
<div id="main_report.py" class="header2_menu_div" style="display:none;"></div>
<div id="manage_host.py" class="header2_menu_div" style="display:none;"></div>
<div id="main.py" class="header2_menu_div"></div>
<div id="header2_div" style="display:none;">
**
    <div id="login_user">
    <img title="User" alt="" src="images/new_icons/user.png" style="width:16px;height:16px;">
**
<span>
</div>
</div>
<div id="user_options">
<div id="ubr_sub_menu" class="sub-sub-menu" style="right:auto;">
<div id="ubre_sub_menu" class="sub-sub-menu" style="right:auto;">
<div id="idu_sub_menu" class="sub-sub-menu" style="right:auto;">
<div id="header3">
<div id="container">
<div id="events_logs_box" style="display: none;">
<div id="footer">
<div style="clear:both;"></div>
</body>
</html>
</frame>
</frameset>
<pixelperfectlastoverlay id="ppReloadLastOverlay"></pixelperfectlastoverlay>
</html>

Xpath =//div [@ id = ' login_user '] 结果给出一个空结果。我需要那个id的位置,我的selenium工具来定位元素。

使用此方法查找iframe内的元素:

driver.switchTo().frame((WebElement) driver.findElement(By.xpath("//iframe")));

现在你已经在iframe内了,你可以用正常的方式找到任何元素,因为你已经在iframe内了。如果你想切换到父窗口,使用以下命令:

driver.switchTo().defaultContent();

尝试这个xpath,问题可能是因为您使用()而不是[]

//div[@id='login_user'] 

最新更新