Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要为过滤器图标编码的建议吗_Javascript_Java_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Javascript 需要为过滤器图标编码的建议吗

Javascript 需要为过滤器图标编码的建议吗,javascript,java,selenium,selenium-webdriver,selenium-chromedriver,Javascript,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,我需要用SeleniumWebDriveJava编写以下代码。我正在使用JavaEclipse。我正在尝试查找筛选器菜单的元素。单击过滤器图标后,将显示过滤器菜单。当我试图通过使用firebug单击过滤器图标来查找元素时,下面的代码被突出显示span class=“k-icon k-filterxpath也不起作用 <th class="k-header k-filterable k-with-icon" scope="col" data-title="Package Detail" da

我需要用SeleniumWebDriveJava编写以下代码。我正在使用JavaEclipse。我正在尝试查找筛选器菜单的元素。单击过滤器图标后,将显示过滤器菜单。当我试图通过使用firebug单击过滤器图标来查找元素时,下面的代码被突出显示
span class=“k-icon k-filter
xpath也不起作用

<th class="k-header k-filterable k-with-icon" scope="col" data-title="Package Detail" data-index="0" data-field="PackageDetail.Namee" data-role="columnsorter">
 <a class="k-grid-filter" href="javascript:void(0)" tabindex="-1">
  <span class="k-icon k-filter"/>
 </a>
 <a class="k-link" href="/Valiadationrule/GetData?ValiadationruleGrid-sort=PackageDetail.Namee-asc">Package Detail</a>
</th>

<th class="k-header k-filterable k-with-icon" scope="col" data-title="Category" data-index="1" data-field="Category" data-role="columnsorter">
 <a class="k-grid-filter" href="javascript:void(0)" tabindex="-1">
  <span class="k-icon k-filter"/>
</a>
<a class="k-link" href="/Valiadationrule/GetData?ValiadationruleGrid-sort=Category-asc">Category</a>
</th>

<th class="k-header k-filterable k-with-icon" scope="col" data-title="Name" data-index="2" data-field="Name" data-role="columnsorter">
 <a class="k-grid-filter" href="javascript:void(0)" tabindex="-1">
   <span class="k-icon k-filter"/>
 </a>
 <a class="k-link" href="/Valiadationrule/GetData?ValiadationruleGrid-sort=Name-asc">Name</a>
</th>

尝试以下任一Java代码,单击第一个过滤器图标“Package Detail”:

它将选择带有标记
a
的元素,并将确切的innerHTML/文本作为
包详细信息

//a[contains(@href,'PackageDetail')]
它将选择带有标记
a
的元素和包含文本
PackageDetail
href
属性


编辑 根据最新的图片,我已经找出了问题所在。实际上,整个网格位于一个id为
bodyframe
的框架内。因此,在单击过滤器图标之前,必须首先切换到该框架

1-切换到帧:

driver.switchTo().frame("bodyframe");
driver.findElement(By.xpath("//a[contains(@href,'PackageDetail')]/preceding-sibling::a")).click();
2-单击过滤器图标:

driver.switchTo().frame("bodyframe");
driver.findElement(By.xpath("//a[contains(@href,'PackageDetail')]/preceding-sibling::a")).click();


尝试以下任一Java代码,单击第一个过滤器图标“Package Detail”:

它将选择带有标记
a
的元素,并将确切的innerHTML/文本作为
包详细信息

//a[contains(@href,'PackageDetail')]
它将选择带有标记
a
的元素和包含文本
PackageDetail
href
属性


编辑 根据最新的图片,我已经找出了问题所在。实际上,整个网格位于一个id为
bodyframe
的框架内。因此,在单击过滤器图标之前,必须首先切换到该框架

1-切换到帧:

driver.switchTo().frame("bodyframe");
driver.findElement(By.xpath("//a[contains(@href,'PackageDetail')]/preceding-sibling::a")).click();
2-单击过滤器图标:

driver.switchTo().frame("bodyframe");
driver.findElement(By.xpath("//a[contains(@href,'PackageDetail')]/preceding-sibling::a")).click();


似乎有多个
标记可能是您的问题的原因。您能从上面告诉我您要查找和/或单击哪个筛选器图标吗?我想使用第一个筛选器包详细信息,就像有多个
标记可能是您的问题的原因一样。您能从上面告诉我您要查找和/或单击哪个筛选器图标吗要定位和/或单击的r图标?我想使用第一个筛选器包详细信息感谢您的更新,但它不起作用我收到错误消息,因为无法定位元素在这种情况下,请尝试以下XPath之一
//th[@data title='Package Detail']
//th[@data title='Package Detail']//span[@class='k-icon k-filter']
。如果仍然不起作用,请添加到您的问题中。需要查看筛选器的外观,可能会更容易将此筛选器排序出来。您好,仍然不起作用,谢谢..从屏幕截图上看,上面的代码(在注释中)似乎应该起作用。无论如何,您可以尝试以下XPath之一:
//a[包含(@href,'PackageDetail')]/前面的同级::a
//th[@data title='Package Detail']//span[@class='k-icon k-filter']/..
好的..您能告诉我您遇到了什么错误/异常吗?您好,谢谢您的更新,但它不起作用。我收到错误消息,因为无法找到元素。在这种情况下,请尝试以下XPath
//th[@data title='Package Detail']
//th[@data title='Package Detail']//span[@class='k-icon k-filter']
。如果仍然不起作用,请添加到您的问题中。需要查看筛选器的外观,可能会更容易将此筛选器排序出来。您好,仍然不起作用,谢谢..从屏幕截图上看,上面的代码(在注释中)似乎应该起作用。无论如何,您可以尝试以下XPath之一:
//a[包含(@href,'PackageDetail')]/前面的同级::a
//th[@data title='Package Detail']///span[@class='k-icon k-filter']]/..
好的..你能告诉我你得到了什么错误/异常吗?