私はxpath式でアポストロフィ( ')を使用する必要がありますが、これはwebdriverを使用して要素を見つけるのに使用する必要があります
以下のXpath式を使用する必要があります
//input[@text="WE'd like to hear from you"]
上記の式を要素検索関数で使用している間、二重引用符を単一引用符に置き換えています
driver.findelements(By.xpath("//input[@text='WE'd like to hear from you']"))
以下に示すようにxpathを使用します。
driver.findElements(By.xpath("//input[contains(@text,\"WE'd\")]"));
お役に立てれば。
XPath 1.0は引用符をエスケープする方法を提供しないため、二重引用符をXPath文字列リテラル区切り文字として使用する必要があります。それに加えて、Javaで二重引用符をエスケープして、二重引用符も使用するJava string delimiterと競合しないようにすることができます。
driver.findelements(By.xpath("//input[@text=\"WE'd like to hear from you\"]"))
エスケープ文字の使用は目的を果たしません。連結機能を試してみましたが、それは魅力的でした。以下のxpathを参照してください。
タグ:liワークフローイニシエーターのマネージャー/ li
関数を連結し、文字列を–として分割します
concat('Manager of Workflow Initiator',"'",'s Manager')
一重引用符は二重引用符に保持され、他の文字は一重引用符に保持されます。
XPathは次のようになります。
//li[.=concat('Manager of Workflow Initiator',"'",'s Manager')]
上記のソリューションが機能しない場合は、エスケープシーケンスを使用して以下のソリューションを使用します。
xpath: //li[.=\"Manager of Workflow Initiator's Manager\"]
ここでは、エスケープ文字を使用してテキスト全体を文字列として扱っています