PrimeFaces で作成された TextBox にテキストを送信しようとすると、次のようになります。
私は試します:
getDriver().findElement(By.id("addRowTable:0:hostName")).sendKeys("testing");
HTML は次のとおりです。
ホスト名を入力してください:$(function() {PrimeFaces.cw('Watermark','widget_addRowTable_0_j_idt474',{id:'addRowTable:0:j_idt474',value:'Hostname',target:'addRowTable:0:hostName'},'透かし');}); PrimeFaces.cw('InputText','widget_addRowTable_0_hostName',{id:'addRowTable:0:hostName'});.xxxxcxxxxxdddddddddd.net
XPath を次のように取得します。
//*[@id="addRowTable:0:hostName"]
例外が発生します:
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"id","selector":"addRowTable\\:0\\:hostName"}
Command duration or timeout: 149 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
私が見ると
http://seleniumhq.org/exceptions/no_such_element.html
私は一般的な説明を得る:
The element may not be present.
エスケープしても: with \ は機能しませんでした
getDriver().findElement(By.id("addRowTable\\:0\\:hostName")).sendKeys("testing");