无法找到元素

无法找到元素

问题描述:

我不确定我的方法是否正确。我正在尝试使用名称选择器来查找'Arty'的值。无法找到元素

<button class="facet-button btn-large selected ng-scope keyword-facet" ng-click="removeFacet(sf)" ng-repeat="sf in selectedFacetsList">Arty</button> 

// Then I remove 'Arty' from my search 

[Then(@"I remove '(.*)' from my search")] 
public static void RemoveAFacetButton(string searchName) 
{ 
    var button = Driver.Instance.FindElements(By.cssSelector(".selected-facets-slide button")); 
    var itemToRemove = Driver.Instance.FindElement(By.Name(searchName)); 
    itemToRemove.Click(); 
} 

错误:无法找到元素:{ “方法”: “姓名”, “选择器”, “附庸风雅”

没有namebutton元件上存在的属性。而是使用XPath定位器:

Driver.Instance.FindElement(By.XPath(string.Format("//button[. = '{0}']", searchName))); 
+0

对不起,复制和粘贴。我希望做的是从我的specflow步骤中捕获'SearchName'的值,并将其传递给变量'itemToRemove'。我想避免指定硬编码值。希望这是有道理的? –

+0

@AkifTahir好,仍然适用,按钮上没有“名称”属性。我提出的XPath应该匹配按钮。 – alecxe

+0

感谢@alecxe工作正常:)如果我有多个按钮,并希望点击一个特定的,有没有办法将我的参数'searchName'的名称传入XPath? –