点击div id' addpolicy"与selenium java

时间:2015-09-01 17:40:07

标签: java selenium

我试图找到代码以点击以下项目并在过去5天内与之斗争。你能帮忙吗? 我要点击的区域在下面是BOLD。 谢谢,

<body class="tundra ltr">
<div id="dialogsContainer" class="dialogs" style="visibility: hidden; display: none;">
<div id="dialogsContainerStart"> </div>
<script type="text/javascript">
<script type="text/javascript">
<script type="text/javascript">
<div id="mdm_content" class="mdm_contentContainer">
<div id="mdm_Center" class="mdm_Center">
<div class="mdm_Body">
<div id="centerContentOuterDiv" class="policyProfile dijitContentPane" widgetid="centerContentOuterDiv">
<div id="navigationContainer" class="uwp_ContentMenuPane dijitContentPane" widgetid="navigationContainer">
<div class="uwp_ContentMenuPane">
<div class="uwp_ContentMenuPane_Title" onclick="togglePane('policyPane',false,'libraryHomeNav')">
<table class="uwp_layoutTableWide">
<tbody>
<tr>
<td class="uwp_layoutTableNarrow">
<td class="widgetImage mdm_policyIcon mdm_detailsIconWidth">
<td>
<td>
**<td class="uwp_layoutTableOpposite uwp_layoutTableNarrow">
<div id="addpolicy">
<img src="/admin/resources-4sch8xjaure9vmq5lgdafhi90/images/blank.gif" onclick="disableEventPropagation(event);return addLibraryItem('policy');">
</div>**

3 个答案:

答案 0 :(得分:2)

所以第一件事就是这一行代码,

<div id="dialogsContainer" class="dialogs" style="visibility: hidden; display: none;">

注意样式,可见性设置为隐藏,显示为无。 Selenium将对此进行相同处理,您将无法单独查看此项目。您需要将流程视为与用户相同,如果用户无法点击该项目,您将无法使用Selenium。

您需要显示此项目以单击此块中的项目。我的猜测是页面上有一个元素,你不会向我们展示这会让它变得可见。希望这会有所帮助。

答案 1 :(得分:2)

如果您尝试,可以手动点击它吗?运行代码时出现的错误是什么?

如果可以手动点击该按钮,但您无法使用Selenium执行此操作,请尝试以下JS:

-(void)animateForPushDismissCurrView
{
    CAAnimation *buttonAnimation = ...make animation

    [CATransaction begin];
    [CATransaction setCompletionBlock:^{

        [self.containingVC performSegueWithIdentifier:@"segueID" sender:self.containingVC];

    }];
    [self.layer addAnimation:buttonAnimation forKey:nil];
    [CATransaction commit];
}

答案 2 :(得分:0)

我能够使用下面的代码解决它。                           driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@name,'ExternalUI')]"))); driver.findElement(By.xpath("//a[contains(text(),'Add an IT policy')]")).click();