我必须点击一个仪表板,在点击菜单项后显示它。菜单项和仪表板都在不同的框架中。
<html>
<head>
<frameset scrolling="no" framespacing="0" marginwidth="0" marginheight="0" border="0" frameborder="0" rows="98,*">
<frame scrolling="no" noresize="" marginwidth="0" marginheight="0" src="menu.jsp" name="menu">
<script language="JavaScript">
<script type="text/javascript" src="menu7_com.js" language="JavaScript">
<div style="position: absolute; display: block; background-color: black; width: 1080px; height: 18px; z-index: 1101; top: 72px; left: 10px;">
<div style="position: absolute; overflow: hidden; cursor: default; color: rgb(0, 0, 0); font-family: Arial;font-size: 9pt; font-weight: bold; font-style: normal; background-color: rgb(224, 224, 224); text-align:left; width: 110px; height: 16px; padding-left: 10px; padding-top: 2px; left: 0px; top: 0px;">
<div style="position: absolute; overflow: hidden; cursor: default; color: rgb(0, 0, 0); font-family: Arial; font-size: 9pt; font-weight: bold; font-style: normal; background-color: rgb(224, 224, 224); text-align: left; width: 110px; height: 16px; padding-left: 10px; padding-top: 2px; left: 120px; top: 0px;">
</div>
<frame scrolling="auto" style="scrollbar-base-color:blue;" noresize="" marginwidth="0" marginheight="0" src="Dashboard.do?action=DashBoard" name="display">
<div style="position: absolute; overflow: hidden; cursor: default; color: rgb(0, 0, 0); font-family: Arial; font-size: 9pt; font-weight: bold; font-style: normal; background-color: rgb(224, 224, 224); text-align:left; width: 110px; height: 16px; padding-left: 10px; padding-top: 2px; left: 120px; top: 0px;">
</div>
</frameset>
</html>
答案 0 :(得分:0)
正如您所提到的那样,只有在点击“父Div标签”后才能看到它。 因此,您必须先将鼠标移动到其父Div元素,然后单击它的子元素。 您可以使用Action类移动到父元素,然后单击其子元素。 我已经包含了正确的Child Div标签Xpath,就像你可以获得其父Div标签的Xpath一样。
下面是相同的例子。
WebElement Parent_tag= driver.findElement(By.xpath("Xpath of Parent Div Tag"));
WebElement Child_tag= driver.findElement(By.xpath("//div(contains(text(),'Create Hierarchy'))"));
Actions action = new Actions(driver);
action.moveToElement(Parent_tag).click(Child_tag).perform();
答案 1 :(得分:0)
抱歉,我的问题有点不对劲。实际上div是在不同的框架中。但我找到了解决方案。
driver.switchTo().frame("menu");
WebElement MenuOne = driver.findElement(By.xpath("html/body/div[1]/div[1]"));
MenuOne.click();
driver.switchTo().defaultContent();
driver.switchTo().frame("display");
WebElement Createborrower = driver.findElement(By.xpath("html/body/div[5]/div[3]"));
Createborrower.click();