1

子のテキストも取得せずにノードのテキストを取得したいと思います。たとえば、次の HTML からテキスト "hello" を取得するにはどうすればよいですか?

<div id="myid">hello <b>world</b></div>
4

2 に答える 2

1

これを機能させることができた唯一の方法は、リフレクションを使用して WebElement の可視性保護をバイパスすることです。

WebElement webElement = driver.findElementById("myid");
Method getter = webElement.getClass().getDeclaredMethod("getElement");
getter.setAccessible(true);
HtmlElement htmlElement = (HtmlElement) getter.invoke(webElement);
String name = htmlElement.getFirstChild().getTextContent();
于 2012-09-08T23:19:04.240 に答える
0

XPath式を試す

//div[@id='myid']/text()

その div の直下にあるすべてのテキスト ノードに対して、および

//div[@id='myid']/text()[k]

そのdivの下のk番目のテキストノード。

libxslt を使用して XSL でこの XPath をテストしましたが、Web ドライバーではテストしていません (ただし、Web ドライバーが XPath をサポートしていることはわかっています)。

于 2012-09-08T00:30:16.100 に答える