如何在使用webdriver查找元素时在xpath中使用撇号(’)?
我需要在我的xpath表达式中使用撇号(’),我需要在使用webdriver查找元素时使用它
我需要使用下面的Xpath表达式
//input[@text="WE'd like to hear from you"]
在find元素函数中使用上面的表达式时,我用单引号替换双引号
driver.findelements(By.xpath("//input[@text='WE'd like to hear from you']"))
使用xpath,如下所示:
driver.findElements(By.xpath("//input[contains(@text,\"WE'd\")]"));
希望这可以帮助。
您必须使用双引号作为XPath字符串文字分隔符 ,因为XPath 1.0不提供转义引号的方法。 除此之外,您可以在Java中转义双引号,以避免它与您的Java字符串分隔符冲突,后者也使用双引号:
driver.findelements(By.xpath("//input[@text=\"WE'd like to hear from you\"]"))
Escape角色使用不起作用。我尝试了连接function,它就像一个魅力。 请参阅下面的xpath。
tag:工作流程发起人经理/李经理
连接函数并将字符串拆分为 –
concat(’工作流程发起人经理’,”’,’经理’)
单引号保留为双引号,而其他字符保存在单引号中。
所以XPath看起来像 –
//li[.=concat(‘Manager of Workflow Initiator’,”’,’经理’)]
希望这可以帮助。 🙂
如果上述解决方案不起作用,则使用转义序列使用以下解决方案。
xpath://li [。= \“工作流程启动器经理的管理员”
这里我们使用转义字符将整个文本视为字符串