我在使用唯一元素id之间的正则表达式时遇到了麻烦。
这是html代码
<td align="left" style="vertical-align: top; ">
<span class ="radiobutton" id="mainId:gen_id_12e3:radiospan1e">
<input type="radio" name="radio1" value="on" id="radio1" tabindex="0" checked>
<label for="id-2024">Yes</label>
使用xpath,我使用下面的selenium命令和(。*)在元素id之间工作正常。
selenium.click("xpath=//span[@id, 'mainId.*radiospan1e']");
但是,我不能在CSS中做同样的事情,因为他们有id用于id的结尾,^用于开头,*用于页面中的任何地方但是我希望id以mainId开头,带有一些正则表达式并结束具有独特的身份。
任何帮助都将不胜感激。
答案 0 :(得分:4)
CSS一般不支持正则表达式,但是如果您只想从ID中对整个中间部分进行通配符,那么CSS实际上非常可行,如this answer所示
鉴于您的代码,您可以使用:
selenium.click("css=span[id^='mainId'][id$='radiospan1e']");