2016-04-12 7 views
0

私はそれが動作しない変数を使用してXPathを選択する必要があるとき、私は上記の作品は、しかし場合には、完全に実行時間でXPathを評価するためにHow.findを使ってxpathの変数を評価するには?

[FindsBy(How = How.XPath, Using = "//input[@id='icombobox_Text_cboRefPriority']")] 
public IWebElement txt_RefPriority { get; set; } 

を以下の構文を使用しています。

例えば:

Context.LoginName => will read a value from a XL/XML which can change dnamically 

[FindsBy(How = How.XPath, Using = "//input[@id='"+Context.LoginName+"']")] 
public IWebElement txt_RefPriority { get; set; } 

どのように問題を解決するには?

+0

XPathを生成した後に文字列を印刷してみてください。おそらく、変数が保持している値が正しくない可能性があります。 – JRodDynamite

答えて

0

Usingの文字列は、コンパイルで評価されるため、定数でなければなりません。そのため、FindsByに変数を使用することはできません。あなたは、変数を使用して要素を検索したい場合は、検索する必要がある属性パラメータタイプ

の発現または配列の作成表現TYPEOF、エラー

は属性引数は定数式でなければならないでしょう要素を使用する場合FindElement

IWebElement txt_RefPriority = driver.FindElement(By.XPath("//input[@id='"+Context.LoginName+"']")); 
+0

ありがとうございます。私はDriver.FindElementByのように同じ方法を使用しています.... FindsByに解決策があるかもしれないと思ったら、質問を投稿しました – sriram

関連する問題