Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
问题查找xpath c#_C#_Selenium_Selenium Webdriver_Xpath_Webdriver - Fatal编程技术网

问题查找xpath c#

问题查找xpath c#,c#,selenium,selenium-webdriver,xpath,webdriver,C#,Selenium,Selenium Webdriver,Xpath,Webdriver,如何为以下HTML编写xpath: <span id="filename_548948">Test DC Email </span> 解决方案取决于邮件的字符串名称所包含的内容 您有一个关于精确文本的xpath查询。这意味着搜索中的每个字符都应该与网页上的相同 所以如果string nameOfEmail=“Test DC-Email” 它将正确搜索 此外,在/前面丢失可能会有所帮助根据您共享的HTML,您可以使用以下xpath: //with a constant s

如何为以下HTML编写
xpath

<span id="filename_548948">Test DC Email </span>

解决方案取决于邮件的字符串名称所包含的内容

您有一个关于精确文本的xpath查询。这意味着搜索中的每个字符都应该与网页上的相同

所以如果
string nameOfEmail=“Test DC-Email”

它将正确搜索

此外,在
/
前面丢失
可能会有所帮助

根据您共享的HTML,您可以使用以下
xpath

//with a constant string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), 'Test DC Email')]")).Click();
//with a variable string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), '" + nameOfEmail + "')]")).Click();

“电子邮件”后面似乎有一个额外的空格,您可能没有考虑。请尝试使用
//span[contains(text(),“nameOfEmail”)]
代替headdriver.FindElement(By.XPath(“//span[text()=”“+nameOfEmail+”))。单击();通过添加额外的空格来工作。感谢您的建议driver.FindElement(By.XPath(“//span[contains(text(),“+nameOfEmail+”“]”)似乎不起作用。您是对的nameOfEmail=“Test DC-Email”您是否在电子邮件后添加了空格?如“Test DC-Email”一词后的空格Email@Tanya如果要使用
contains(),请删除+和“there Driver.findelelement(By.XPath(//span[contains(text(),'nameofmai'])”
,无需使用
normalize-space()
//with a constant string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), 'Test DC Email')]")).Click();
//with a variable string
Driver.FindElement(By.XPath("//span[starts-with(@id,'filename_') and contains(normalize-space(), '" + nameOfEmail + "')]")).Click();