我无法点击列表标签内的链接。 这是HTML代码:
<div class="sideBarContent" ng-include="'routes/sidebar/sidebar.tpl.html'">
<div id="innerSidebarContent" ng-controller="SidebarController">
<div>
<ul class="menuItems bounceInDown">
<li id="menuHome" class="" ui-sref="home" ng-click="closeMobileMenu()" href="/home/">
<li id="menuConfigurator" ui-sref="configurator" ng-click="closeMobileMenu()" href="/configurator/">
<span class="menuIcon regularImage blueHighlight activated icon-selectAndTailor"></span>
<span class="menuIcon icon-selectAndTailor_active activeImage">
<p class="mainMenuLabel multiLine">Select & Tailor Methods</p>
</li>
我尝试了所有这些方法来找到文本并点击它:
describe('Test objects in /configurator/ route', function() {
it('Click on select and tailor banner icon', function(){
//element(by.css('ul.menuItems > li[href=/configurator/]')).click();
//element(by.className('menuIcon icon-selectAndTailor_active activeImage')).click();
//element(by.css("li[@id='menuConfigurator' and @href='/configurator/']")).click();
//element(by.id('menuConfigurator')).click();
//element(by.xpath("//div[@class='sideBarContent']/p")).click();
//element(by.css("#menuConfigurator > p")).click();
//element(by.partialLinkText('Select & Tailor Methods')).click();
element(by.linkText("Select & Tailor Methods")).click();
console.log('in the configspec ...');
})});
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
刚刚遇到同样的问题。 事实证明,将列表包装在&lt; div>块是问题。 一旦列表被移动到任何&lt; div>阻止&lt; a&gt;标签工作。
答案 1 :(得分:0)
li不能有href属性
使用
<a href="/home"><li id="menuHome" class="" ui-sref="home" ng-click="closeMobileMenu()"></a></li>
或者
<li id="menuHome" class="" ui-sref="home" ng-click="closeMobileMenu()" href="/home/"><a href="/home"></a></li>
而不是
<li id="menuHome" class="" ui-sref="home" ng-click="closeMobileMenu()" href="/home/"></li>
答案 2 :(得分:0)
根据html,这不是链接。 使用其他选择器选择它:
element(by.className("multiLine")).click();
element(by.css(".mainMenuLabel.multiLine")).click();
element(by.css("[class='mainMenuLabel multiLine']")).click();
element(by.xpath(".//p[@class='mainMenuLabel multiLine']")).click();