Selenium webdriver 按第一位查找文本
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();
你可以试试
driver.find_elements_by_xpath("//*[contains(text(), '20151127')]")
要查找具有以 20151127 开头的 id 属性的元素,您可以使用以下 XPath:
//*[starts-with(@id, '20151127')]
我建议使用实际标签名称(div、td 等)代替示例中给出的星号。
由于我不确定您使用的是哪种编程语言,我将继续使用 C#。
如果您确定您的 ID 是从当天开始的,那么要获得一个通用的解决方案,您可以:
driver.FindElement(By.Xpath(".//*[starts-with(@id, '" + System.DateTime.Now.ToString("yyyyMMdd") + "')]"));
我在查找具有特定未知 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();
你可以试试
driver.find_elements_by_xpath("//*[contains(text(), '20151127')]")
要查找具有以 20151127 开头的 id 属性的元素,您可以使用以下 XPath:
//*[starts-with(@id, '20151127')]
我建议使用实际标签名称(div、td 等)代替示例中给出的星号。
由于我不确定您使用的是哪种编程语言,我将继续使用 C#。 如果您确定您的 ID 是从当天开始的,那么要获得一个通用的解决方案,您可以:
driver.FindElement(By.Xpath(".//*[starts-with(@id, '" + System.DateTime.Now.ToString("yyyyMMdd") + "')]"));