selenium webdriver中的css或xpath正则表达式

时间:2014-09-11 09:32:12

标签: css selenium xpath webdriver

我有一个代码

driver.findElement(By.cssSelector("#lmv-dialog-add-id-_newFundAllocation-targetAllocation-88-F03   >td.tright > a.lmv-show")).click();
代码中出现的

88是可变的。无论是否有88,99,12或任何其他数字,如何修改代码的代码?

另外。在同一命名三个元素xpath:

id('lmv-dialog-add-id-_newFundAllocation-targetAllocation-88-F01')/x:td[3]/x:a
id('lmv-dialog-add-id-_newFundAllocation-targetAllocation-88-F02')/x:td[3]/x:a
id('lmv-dialog-add-id-_newFundAllocation-targetAllocation-88-F03')/x:td[3]/x:a

我想点击第三项。因为这是88变量,我想这样做可以是这个地方出现的任何数值。

2 个答案:

答案 0 :(得分:0)

您可以尝试组合XPath starts-with()ends-with()函数:

//*[
     starts-with(@id, 'lmv-dialog-add-id-_newFundAllocation-targetAllocation-') 
        and 
     ends-with(@id, '-F11')
   ]
/td[contains(@class, 'tright']
/a[contains(@class, 'lmv-show']

附注:上面的示例显示了在XPath中模拟css类选择器的简化版本。如有必要,您可以在以下某个链接中使用更合适的方法。

答案 1 :(得分:0)

尝试使用以下xpath

"//*[contains(@id,'lmv-dialog-add-id-_newFundAllocation-targetAllocation')]/td[3]/a[@class='lmv-show']"