[英]Selenium webdriver find texy by first digits
我在寻找具有特定、未知 ID 的元素时遇到问题。 我只知道它会从实际日期开始,例如今天是'201511276745476574865746375d'
。 (最后总是一封信)
在 SQL 中,我会通过编写“20151127%”找到它,但它在 Selenium webdriver 中不起作用:(
编辑:我使用java,我需要点击按钮,它有代码:
<input name="removeCatalog" id="20151130081807817d" class="buttons buttonShort alignCenter" value="Delete" onclick="removeCatalogFromCatalogList('20151130081807817','Do you want to remove it?')" type="submit">
我尝试使用 SQL 代码来查找 id,但我意识到 webdriver 并不总是连接到数据库(我不能那样做)。
我试图用“Catalog selenium”关键字找到一行,但没有工作: driver.findElement(By.xpath("//table[@id='GridView']/tbody/tr[td[text() ='catalog selenium']]/td[8]/input")).click();
要查找id属性以20151127开头的元素,可以使用以下 XPath:
//*[starts-with(@id, '20151127')]
我建议使用实际的标签名称(div、td 等)代替示例中给出的星号。
由于我不确定您正在使用哪种编程语言,因此我将继续使用 C#。 如果您确定您的 ID 从当天开始,那么要获得通用解决方案,您可以:
driver.FindElement(By.Xpath(".//*[starts-with(@id, '" + System.DateTime.Now.ToString("yyyyMMdd") + "')]"));
你可以试试
driver.find_elements_by_xpath("//*[contains(text(), '20151127')]")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.