1

我无法在 HTML 页面下方找到元素“试驾请求”的 xpath。我尝试了许多xpath,但是如果我再次检查,那么在页面刷新后在firepath中创建时,这些只会被检测一次,然后下面的xpaths无法检测到元素

下面是HTML代码

<body scroll="no">
<span id="crmEventManager"/>
<div id="dummyDiv" class="ms-crm-IE7-Height-Fix-Dummy-Container">
<div id="FormCell" style="width: 100%;height: 100%; position: absolute; top: 0px; bottom: 0px;">
<div class="ms-crm-Form-Common-Dummy ms-crm-Form-Container">
<div id="mainContainer" class="ms-crm-Form-Main-Container" style="left: 185px">
<div class="ms-crm-Form-Nav-Container" style="width: 185px">
<div id="crmNavBar" class="ms-crm-FormLeftNav-StandardLayout" style="height: 625px;">
<div id="crmNavBar_paneTD" style="height:100%;">
<div class="ms-crm-FormLeftNav-TabLinksRow">
<div class="ms-crm-Form-LeftBar-Header">
<div class="ms-crm-FormLeftNav-RelatedRow ms-crm-Form-LeftBar">
<ul id="crmFormNavSubareas" class="ms-crm-Nav-LeftBar" style="height: 347px;">
<li class="ms-crm-Nav-Group">
<a id="_NA_Info" class="ms-crm-Nav-Group-Heading" title="Click here for more areas" tabindex="0" target="_self" href="javascript:onclick();" onclick="return false;">
<ul class="ms-crm-Nav-Group-Subareas" style="display:inline;">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<li class="ms-crm-Nav-Subarea">
<a id="nav_fmc_incident_fmc_testdriverequest" class="ms-crm-Nav-Subarea-Link ms-crm-Nav-Subarea-Hovered" onclick="if(typeof(Mscrm)!='undefined'&&typeof(Mscrm.Details)!='undefined'){Mscrm.Details.loadArea(this, 'area_fmc_incident_fmc_testdriverequest');};" title="View Test Drive Requests" tabindex="0" target="_self" href="#">
<img id="" class="ms-crm-Nav-Subarea-Icon" align="absmiddle" alt="" src="/%7B635852537720004376%7D/WebResources/fmc_/Images/HP.FMC.MSS360.CRM.Image.TestDriveRequest16X16"/>
<nobr class="ms-crm-Nav-Subarea-Title" title="View Test Drive Requests">
<div class="ms-crm-Nav-Subarea-Title">Test Drive Requests</div>
</nobr>

我在 Xpath 下写过,但这些都不起作用

[![@FindBy(xpath="//div\[contains(text(), 'Test Drive Requests')\]")

@FindBy(xpath=".//*\[@id='crmFormNavSubareas'\]/li\[1\]/ul/li\[13\]/a\]")

@findBy(xpath="//div\[text='Test Drive Requests'\]")
@findBy(xpath = "//nobr\[@title='View Test Drive Requests'\]")][1]][1]

请查找附件图片以获取更多信息在此处输入图像描述

4

3 回答 3

0

所需的元素在 中iframe,在查找元素之前切换到它:

driver.switchTo().frame("contentIFrame");
于 2015-12-23T18:07:31.400 回答
0

似乎您的元素在iframe您可能想要先切换到 iframe 的内部:

driver.switchTo.frame("contentIframe"); //whatever is the name or id of iframe
driver.findElement(By.xpath("//div[contains(text(), 'Test Drive Requests')]"));
于 2015-12-23T18:09:23.603 回答
0

使用这个 xpath:

.//*[@class='ms-crm-Nav-Subarea-Title' and contains(text(),'Test Drive Requests')]

所以它会是:

@findBy(xpath=".//*[@class='ms-crm-Nav-Subarea-Title' and contains(text(),'Test Drive Requests')]")
于 2015-12-23T18:47:36.740 回答