Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
C# 找不到元素_C#_Selenium_Selenium Webdriver - Fatal编程技术网

C# 找不到元素

C# 找不到元素,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我不确定我的方法是否正确。我正在尝试使用名称选择器查找值'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 rem

我不确定我的方法是否正确。我正在尝试使用名称选择器查找值'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();
}
Arty
//然后我从搜索中删除“Arty”
[然后(@“我从搜索中删除“(.*)”)]
公共静态void removeAceptButton(字符串searchName)
{
var button=Driver.Instance.FindElements(By.cssSelector(“.selected facets slide button”);
var itemToRemove=Driver.Instance.FindElement(By.Name(searchName));
itemToRemove.Click();
}

错误:无法定位元素:{“方法”:“名称”,“选择器”“艺术”

按钮上不存在
名称
属性。请改用XPath定位器:

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

很抱歉复制和粘贴。我希望做的是从specflow步骤中捕获'SearchName'的值,并将其传递给变量'itemToRemove'。我希望避免指定硬编码的值。希望这有意义?@AkifTahir好吧,答案仍然适用,没有“名称”属性。我建议的XPath应该与按钮匹配。感谢@alecxe,它工作得很好:)如果我有多个按钮,并且想要单击某个按钮,是否有方法将参数“searchName”的名称传递到XPath中?