Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SeleniumWebDriver中的css或xpath正则表达式_Css_Selenium_Xpath_Webdriver - Fatal编程技术网

SeleniumWebDriver中的css或xpath正则表达式

SeleniumWebDriver中的css或xpath正则表达式,css,selenium,xpath,webdriver,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-_new

我有密码

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是可变的,我想这样做,它可以用于出现在此处的任何数值。

您可以尝试XPath以函数开头和以函数结尾的组合:

//*[
     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类选择器的简化版本。如有必要,您可以使用以下链接中提出的更合适的方法

尝试使用下面的xpath

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

我有了新的想法和新的问题。如何绘制这个表达式的参数88?不幸的是,无论是这种方式还是任何其他方式都不需要dzaiałać。变量88由所有会话持有,那么您能设法将其从xpath/css中取出吗?怎么做?谢谢你的链接。帮助了我。我使用了另一个使用xpath包含的录制。再次感谢大家的帮助。