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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
如何在带VS的C中的SeleniumWebDriver中使用相对Xpath_Selenium_Xpath_Webdriver - Fatal编程技术网

如何在带VS的C中的SeleniumWebDriver中使用相对Xpath

如何在带VS的C中的SeleniumWebDriver中使用相对Xpath,selenium,xpath,webdriver,Selenium,Xpath,Webdriver,我正在与我们的网站进行自动化项目。 我需要一个输入框将消息传递给它,但是绝对Xpath看起来总是变化的,所以我不能使用它 相对Xpath如下所示 //*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input /html/body/div[13]/div/div[2]/div[3]/div/div/div[1]/div/span/div/form/input 这个词是这样表达的 //*[@id="_ariaId_129"]/div/

我正在与我们的网站进行自动化项目。 我需要一个输入框将消息传递给它,但是绝对Xpath看起来总是变化的,所以我不能使用它

相对Xpath如下所示

//*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input
/html/body/div[13]/div/div[2]/div[3]/div/div/div[1]/div/span/div/form/input
这个词是这样表达的

//*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input
/html/body/div[13]/div/div[2]/div[3]/div/div/div[1]/div/span/div/form/input
若我在VS中使用它,它总是在VS中给我一条错误消息,即我使用了来自Chrome的相对Xpath副本

如果我使用绝对Xpath,它会工作,但正如我所说的,下次测试时它可能会改变

有人能帮我看看在VS中使用相对Xpath的正确格式是什么吗?我试着像下面这样写,但都不管用。我尝试在Xpath中更改为,在VS中没有错误,但找不到元素

[FindsBy(How = How.XPath, Using = "//*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input")]

或者[FindsByHow=How.XPath,Using=//input[@id=''u ariaId_129']]

假设父元素下只有一个输入,即具有您可以轻松使用的id的输入:

//*[@id=\u ariaId\u 129]//输入

如果不是这样,那么您必须找到一个更接近您想要选择的id,或者直接将其添加到您想要交互的输入中

对于包含错误的屏幕截图,这是因为您有未转义的双引号。您必须这样做:

//*[@id=\\u ariaId\u 129\]//输入


//*[@id=''ariaId\u 129']//input

为了帮助使用xpath,我们需要查看HTML,您正在尝试创建xpath,以便使用基于文本的相关HTML更新问题