2016-12-09 1 views
0
私はそのテキストがdiv要素を指定しようとしました

にはどうすれば適切に代わりのXPathのCSSでそのテキストでセレクタを識別ん

<html> 
    <head> 
    <title>Simple Site</title> 
    </head> 
    <body> 
    <form> 
     <label>Name:</label><input type="text"></form><br/> 
     <label>Phone:</label><input type="text"> 
    </form> 
    <div>happy</div> 
    <div>angry</div> 
    <div>sad</div> 
    </body> 
</html> 

いくつかの簡単なHTMLを設定しますが

することができませんでした

div[@text='happy']    #nope 
html body div[@text='angry'] #nope 
html body div:contains('angry') #nope 
html body div[text='angry']  #nope 

私は何が欠けていますか?コードの下

+0

可能な複製(http://stackoverflow.com/questions/12323403/how- [私はセレンwebdriverを(パイソン)?で特定のテキストを含む要素を見つけるにはどうすればよいです] do-i-find-an-element-that-specific-in-selenium-webdriver-pyth) – Sanka

+0

可能な複製http://stackoverflow.com/questions/1520429/is-there-a-css-要素を含む特定のテキスト – disinfor

+0

http://stackoverflow.com/questions/30648554/how-to-select-a-web-element-by-text-with-selenium-webdriver-java – Sanka

答えて

1

CSSは要素のテキストの内容に一致させる方法はありませんが、カピバラの検索は、テキストの内容によってフィルタリングするtextオプションを提供します。これは、文字列または正規表現を取る

angry_div = find(:css, 'div', text: 'angry') # The :css can be omitted if Capybara.default_selector = :css (which it is by default) 
-1

用途:

div[type='happy']{ 
 
    background-color:red; 
 
}
<form> 
 
    <label>Name:</label><input type="text"></form><br/> 
 
<label>Phone:</label><input type="text"> 
 
</form> 
 
<div type="happy">happy</div> 
 
<div>angry</div> 
 
<div>sad</div>

+0

いいアイデアは、しかし、私は実際のHTMLがどのように書かれているのかを制御していません。だから私はタイプで検索することに躊躇することはできません。 – TangibleDream

+0

この回答は非常に間違っています1)無効な属性でマークアップを汚染する2)マークアップはおそらく最初の場所ではコントロールできません3)質問はCSSに関するものではありません – BoltClock

関連する問題