Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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_Testing_Selenium_Protractor_End To End - Fatal编程技术网

Javascript 如何通过匹配文本选择下拉选项?

Javascript 如何通过匹配文本选择下拉选项?,javascript,testing,selenium,protractor,end-to-end,Javascript,Testing,Selenium,Protractor,End To End,我想通过匹配选项文本来选择下拉选项 HTML代码: <li title="Add Page" class="dropdown-header ng-scope" data-ng-if="selectedPage">Add Page</li> <li title="Add page before the current page" data-ng-if="selectedPage" class="ng-scope"> <a data-ng-click="a

我想通过匹配选项文本来选择下拉选项

HTML代码:

<li title="Add Page" class="dropdown-header ng-scope" data-ng-if="selectedPage">Add Page</li> 
<li title="Add page before the current page" data-ng-if="selectedPage" class="ng-scope">
<a data-ng-click="addPage(selectedPage, 'before')">Before Selected</a>   </li>
<li title="Add page after the current page" data-ng-if="selectedPage" class="ng-scope">
<a data-ng-click="addPage(selectedPage, 'after')">After Selected</a></li>
  • 添加页面
  • 选前
  • 选定后
  • 您可以使用
    by.xpath()
    并检查
    a
    元素的文本:

    element(by.xpath('//li/a[. = "Before Selected"]')).click();
    
    或者,通过链接文本:

    element(by.linkText("Before Selected")).click();
    
    我一直使用:

    .click().sendKeys(); 
    

    从我的下拉列表中选择选项。还没有问题。

    Alex我不想使用xapth。还有其他方法吗?我更喜欢这个答案的
    by.linkText
    方法,它看起来更干净。与.xpath
    by.linkText
    相比,它有什么缺点吗?@Aaron我通常使用
    by.linkText
    ,只要它感觉符合逻辑,它就会使测试比使用xpath表达式更干净、更明确。谢谢。@RashmiChauhan这个答案有助于解决这个问题吗?谢谢。@ RashmiChauhan,如果,是的,考虑接受答案。谢谢