2

検索ボックス(<input>要素)があり、そこに書かれたテキストで要素を取得しようとしています。

私は次のことをしようとします:

// input [@value= "my text"] 

しかし、それは機能しません(明確にするために、値は入力要素の属性ではありません。正確に言えば、要素を検査すると、このテキストボックスに書かれたテキストが表示されません)。

<div class="EwdOOOOO">
 <div class="GOOOEOOO">Hello </div> 
 <input type="text" class="GOBLEOOO"> 
</div>

そして私が置いたシートボックス:

"How are you?"

"How are you?"DOM に見つからないことがわかります。

ありがとう。

4

2 に答える 2

5

入力を取得して入力しますか?

お気に入り :

WebElement input = driver.findElement(By.xpath("//input[@class='GOBLEOOO']"));
input.sendKeys("How are you?");

したがって、次のように要素を取得できます。

WebElement inputByValue = driver.findElement(By.xpath("//input[@value='my text']"));

または、それを行う別の方法があります

WebElement inputByValue= driver.findElement(By.xpath("//input[contains(@value,'my text')]"));

contains()@value属性の値に次のパラメーター (文字列) が含まれている場合は true を返します

値を 入力するため、 には常に があるvalue attributeためです。入力仕様の詳細については、こちらをご覧ください。input


入力フィールドに入力した値を持つ要素を見つけたい場合は、この xpath を使用できます。

// you get the value you typed in the input
String myValue = driver.findElement(By.xpath("//input[@class='GOBLEOOO']")).getAttribute("value"); 

//you get a element that contains myValue into his attributes
WebElement element = driver.findElement(By.xpath("//*[contains(@id ,myValue) or contains(@value, myValue) or contains(@name, myValue)]"));
于 2013-04-23T08:23:08.713 に答える
0

ここで私の答えを見てください。設定しているテキスト値が、「テキスト」ではなく、テキスト ボックスの「値」属性として割り当てられる場合があります。

WebElement input = driver.findElement(By.cssSelector("input[type='text']"));
input.sendKeys(enteredValue)
String retrievedText = input.getAttribute("value");
if(retrievedText.equals(enteredValue)){
 //do stuff
}
于 2013-04-23T19:40:26.277 に答える