我正在通过我们的网站从事自动化项目。 有一个输入框,我需要将消息传递给它,但是绝对Xpath看起来总是变化的,所以我不能使用它。
这样的相对Xpath
//*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input
像这样的抽象Xpath
/html/body/div[13]/div/div[2]/div[3]/div/div/div[1]/div/span/div/form/input
如果我在VS内部使用它,它总是会给我一个错误消息,因为我使用了Chrome的相对Xpath复制。
如果我使用Absolute Xpath,它可以工作,但是正如我所说,下次测试时它可能会更改。
有人可以帮我看看在VS中使用相对Xpath的正确格式是什么?我试着像下面这样写,它们都不起作用。我试图在Xpath中将“”更改为,在VS中没有错误,但是找不到该元素。
[FindsBy(How = How.XPath, Using = "//*[@id="_ariaId_129"]/div/div/div[1]/div/span/div/form/input")]
或[FindsBy(How = How.XPath, Using = "//input[@id='_ariaId_129']")]
答案 0 :(得分:1)
假设父元素下只有一个输入(带有ID的输入),您可以轻松地使用:
// * [@ id =“ _ ariaId_129”] //输入
如果不是这种情况,那么您必须找到一个更接近您要选择的ID,或者直接在要与之交互的输入中添加一个ID。
对于出现错误的屏幕截图,这是因为您有不能转义的双引号。您将必须执行以下操作:
“ // * [@ id = \” _ ariaId_129 \“] //输入”
OR
“ // * [@ id ='_ ariaId_129'] //输入”