如何在CSS Selenium Selector代码之间使用正则表达式?

时间:2012-03-28 15:49:08

标签: regex selenium css-selectors selenium-rc

我在使用唯一元素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开头,带有一些正则表达式并结束具有独特的身份。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

CSS一般不支持正则表达式,但是如果您只想从ID中对整个中间部分进行通配符,那么CSS实际上非常可行,如this answer所示

鉴于您的代码,您可以使用:

selenium.click("css=span[id^='mainId'][id$='radiospan1e']");