gpt4 book ai didi

web-applications - Selenium IDE 1.9.1 xpath与包含选择

转载 作者:行者123 更新时间:2023-12-03 16:20:14 26 4
gpt4 key购买 nike

我正在尝试使用软件名称Selenium(网络老鼠)来模拟用户与浏览器的交互

例如,我试图将用户名字段命名为'john

但是,“用户名文本框”的“ id”是username_947232,username_8237

username_ [随机数]的格式

我的语法如下:

//*[contains(@id="username_(/\d+/)")]


但这不起作用,任何人有任何想法吗?

感谢您的任何建议!

最佳答案

用:

//*[starts-with(@id, 'username_')
and
floor(substring-after(@id, 'username_')) = substring-after(@id, 'username_')
]


说明:

此表达式选择其 id属性的字符串值以字符串 "username_"开头且该字符串的其余部分(在起始 "username_"之后)为整数的任何元素。

在这里,我们使用以下表达式为真的事实:且仅当 $string表示整数时:

floor($string) = $string


基于XSLT的验证:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/">
<xsl:copy-of select=
"//*[starts-with(@id, 'username_')
and
floor(substring-after(@id, 'username_')) = substring-after(@id, 'username_')
]
"/>
</xsl:template>
</xsl:stylesheet>


当此转换应用于此XML文档时:

<t>
<user id="username_Xyz"/>
<user id="username_Xyz123"/>
<user id="username_123Xyz"/>
<user id="username_123Xyz456"/>
<user id="username_2015"/>
</t>


将评估Xpath表达式,并将从该评估中选择的节点复制到输出:

<user id="username_2015"/>


请注意:该问题的其他两个答案将选择上述文档中的所有5个 user元素-当然,这是不正确的。

关于web-applications - Selenium IDE 1.9.1 xpath与包含选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com