2017-07-11 3 views
-1

セレンは初めてです。セレンの属性を持たないテキストボックスの検索c#

私はWebアプリケーションとWebサイトを自動化するために、Visual StudioでSelenium Webdriverに取り組んでいます。

私はどのように属性を持たないテキストボックスとボタンを見つけることができるか知る必要があります。

+1

最悪の場合、XPathを使用して任意の要素を見つけることができます。一般的には、Seleniumで独自のソフトウェアをテストする場合は、テストするHTMLを変更して、クラス、属性、またはIDを追加することで、自動化が容易になります。 –

+0

@MartinCostello - 私はあなたが答えをしたならば、それを正しいと思う方法でupvoteします。 – PhillipH

+1

参照:[Xはどのように行うのですか?](https://meta.stackoverflow.com/questions/253069/whats-the--new-current-close-reason-for-how-do-i-do- x)SOに関する期待は、質問をするユーザーが自分の質問に答えるだけでなく、その研究、コードの試行、結果を共有するということです。これは、時間をかけて自分自身を助けようとしていることを示しています。明白な回答を繰り返さないようにしてくれています。そして、より具体的で適切な答えを得ることができます。参考:[ask] – JeffC

答えて

0

具体的な例がありますか、それとも一般的に意味していますか?それが具体的であれば、私たちとHTMLを共有すれば、誰かがそれらを見つける最良の方法を教えることができます。より一般的な質問であれば、C#で使用可能なロケータメソッドのリストをdotnet APIから取得できます。

あなたはその属性を使用して要素を見つけることができないなら、あなたは通常、まだCSSやXPathのセレクタのいずれかを使用して、それを見つけることができます。

driver.FindElement(By.CssSelector("Your CSS Selector Here")); 
driver.FindElement(By.XPath("//Your//XPath//Selector/Here")); 
+0

私は解決策を見つけました。ありがとうございました – Saniya

0

あなたのテキストボックス(<textarea>または<input type="text">)やボタンが唯一の要素である場合タイプで、それ以外の場合は、あなたがdriver.FindElement(By.TagName(" textarea OR input"))

を使用することができ、あなたがWebAppの/ウェブサイトのソースを制御することはできません、あなたは(ようやCSSセレクタ(Martin Costelloコメントとして)XPathで唯一残っていますGeorge McConnonと回答しました)。その後、でも

、ターゲットのウェブサイトは、多くのテキストボックスがあり、テキストボックスのそれぞれのような同じ構造の下にラップされている場合は...:

<div> 
 
<input type = "textbox"> 
 
</div> 
 
<div> 
 
<input type = "textbox"> 
 
</div> 
 
<div> 
 
<input type = "textbox"> 
 
</div>

...それはやりがいを取得します。 XPathを使用すると、条件を満たすn番目の要素を選択できます(//input[n]などを使用します)。これは、そのページがのスタティックであることを前提としています。別のテキストボックス/ボタンがページに追加されている場合、XPath [n-th]要素セレクタが間違った要素を返す可能性があります。
私はあなたがCSSセレクターですべて同じことをすることはできないと思います。

ターゲットWebApp/WebSiteの例がある場合は、目標に最適なオプションを判断する方が簡単です。

+0

私は解決策を見つけました。どうもありがとうございます – Saniya

関連する問題