无法点击位于<li element =“”内的链接

时间:2017-10-10 09:46:48

标签: html css dom protractor

=“”

我无法点击列表标签内的链接。 这是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 ...');
})});

有人可以帮我解决这个问题吗?

3 个答案:

答案 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();