web-dev-qa-db-ja.com

セレンの要素の内部テキストを取得するにはどうすればよいですか?

私はDOMに要素を持っています

<input type = "form-control" type="text" data-bind="textInput: EnterpriseId" disabled autocomplete="off">

このテキストボックスには、この要素タグに反映されないテキストが含まれています。この値を取得するにはどうすればよいですか?明らかに、

element.getText()は機能せず、空白を返します。では、テキストを取得する方法はありますか?

どんな提案も大いに役立ちます。

これを試して

 WebElement element= driver.findElement(By.id("id value"));  
 String val=element.getAttribute("innerText")
7
Eknath

私は問題の要素が_<input>_要素であることを想定しているため、次のようにelement.getAttribute(String attribute)メソッドを使用できる場合があります。

String value = element.getAttribute("value");

2
Tom Trumper

この入力タグは無効になっているため、element.getText()は空白のvalを返します。代わりにelement.getAttribute("textContent")を使用してください。これがうまくいくことを願っています。

1
Harsh

入力テキストのプレースホルダーを探していますか?あなたがしようとするかもしれないので

element.getAttribute("placeholder");

まったく同じ問題がありました!この投稿は私のためにそれを解決しました: webdriverの要素の現在のコンテンツを取得するにはどうすればよいですか 私は使用しました:

element = driver.find_elements_by_xpath(
'//button[@class="size-grid-dropdown size-grid-button"]')
element.text
0
geppy

ブラウザに移動する->開発者ツールを開く->属性を取得する要素を検査する-> Properties->をクリックするその値がInnerTextにあるかどうかを確認する

次に、上記のコメントに記載されているように実行します。

element_locator.get_attribute('InnerText')
0
Stipe