Selenium 找不到具有定位器的元素。尝试Xpath和CSS选择器
尝试在页面上使用xpath定位器和css均无效 我使用xpath尝试了以下操作:Selenium 找不到具有定位器的元素。尝试Xpath和CSS选择器,selenium,robotframework,Selenium,Robotframework,尝试在页面上使用xpath定位器和css均无效 我使用xpath尝试了以下操作: #Wait Until Page Contains Element //a[contains(text(), 'Service Clusters')] 还尝试了以下方法: #Click Element //div[@id='austabsserviceTabs']/ul/li[2]/a 和css选择器 Wait Until Page Co
#Wait Until Page Contains Element //a[contains(text(), 'Service Clusters')]
还尝试了以下方法:
#Click Element //div[@id='austabsserviceTabs']/ul/li[2]/a
和css选择器
Wait Until Page Contains Element css=a[href='#austabsserviceTabs-1']
Click Element css=a[href='#austabsserviceTabs-1']
但是,我在所有尝试中都遇到了相同的错误:未找到元素“//a[containstext,'Service Clusters']”
这是页面中的HTML,我正在尝试选择“服务群集”选项卡:
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top">
<a href="#austabsserviceTabs-0" class="ausTabLabel">Service Profiles</a>
</li>
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active">
<a href="#austabsserviceTabs-1" class="ausTabLabel">Service Clusters</a>
</li>
<li class="ui-state-default ui-corner-top">
<a href="#austabsserviceTabs-2" class="ausTabLabel">Service Globals</a>
</li>
</ul>
这样试试可能对你有帮助
var ul = driver.findElements(By.XPath("//ul[contains(@class,'ui-tabs-nav')]")).ToList();
for (int i = 0; i < ul.Count; i++)
{
var Li = ul[i].FindElements(By.TagName("li")).ToList();
foreach (IWebElement item in Li)
{
if (item.Text == "Service Clusters")
{
//here do whatever you want to do
//break; if you want.
}
}
}
您可以选择服务集群的class属性或href属性。由你决定。我已经测试了给定html的xpath,我发现这个//a[@class='austablebel']xpath对于您的服务集群是有效的。如果要选择href属性,则可以执行类似于//a[@href='austabsserviceTabs-1'] Xpath的特点是,您可以在html中选择任何想要的内容。如果您需要有关xpath的进一步指导,请访问以下网站: