我试图找到代码以点击以下项目并在过去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>**
答案 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();