Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Java Selenium webdriver按第一个数字查找texy_Java_Selenium_Webdriver - Fatal编程技术网

Java Selenium webdriver按第一个数字查找texy

Java Selenium webdriver按第一个数字查找texy,java,selenium,webdriver,Java,Selenium,Webdriver,我在查找具有特定的未知id的元素时遇到问题。我只知道它将从实际日期开始,因此例如,它将是今天的'201511276745476574865746375d'。(最后总是一封信) 在SQL中,我可以通过写“20151127%”找到它,但在SeleniumWebDriver中不起作用:( 编辑: 我使用java,我需要点击按钮,按钮上有代码: 我尝试使用SQL代码查找id,但我意识到webdriver并不总是与数据库有连接(我不能这样做) 我尝试查找带有“Catalog selenium”关键字的行

我在查找具有特定的未知id的元素时遇到问题。我只知道它将从实际日期开始,因此例如,它将是今天的
'201511276745476574865746375d'
。(最后总是一封信)

在SQL中,我可以通过写“20151127%”找到它,但在SeleniumWebDriver中不起作用:(

编辑: 我使用java,我需要点击按钮,按钮上有代码:

我尝试使用SQL代码查找id,但我意识到webdriver并不总是与数据库有连接(我不能这样做)

我尝试查找带有“Catalog selenium”关键字的行,但无法工作:
driver.findElement(By.xpath(//table[@id='GridView']/tbody/tr[td[text()='catalog selenium']]]/td[8]/input”)。单击();

您可以使用

driver.find_elements_by_xpath("//*[contains(text(), '20151127')]")

要查找id属性以20151127开头的元素,可以使用以下XPath:

//*[starts-with(@id, '20151127')]

我建议使用实际的标记名(div、td等)代替示例中给出的星号。

因为我不确定您使用的是哪种编程语言,所以我将继续使用C。 如果您确实知道您的ID从当天开始,那么要获得一个通用解决方案,您可以:

driver.FindElement(By.Xpath(".//*[starts-with(@id, '" + System.DateTime.Now.ToString("yyyyMMdd") + "')]"));

您使用的是什么selenium语言绑定?(需要为您提供一个更强大的解决方案,明天或其他任何一天也可以使用)您尝试了什么,结果如何?正如您在学校所做的那样……请展示您的工作。:)这是获得问题答案的过程的一部分。它对你很有帮助,因为它迫使你调查自己的问题并仔细思考。它还向读者证明,你做了功课,并做出了合理的尝试来回答自己的问题。第三,它帮助读者发现并诊断问题,从而为您提供更好的答案,减少我们浪费的时间。我终于可以上网了。嗯,我认为这不值得展示-这是一个更大项目的一部分,我的问题是严格的(这是一个由用户制作的文档表,我想删除一个特定的已知文档)。我试图连接SQL数据库以查找日志,但我意识到我并不总是能够连接数据库,所以我尝试寻找不同的方法。我最后一次尝试是:哎呀,不能编辑-是用SQL行的,所以完全不同。我搜索这个网站是为了找到一个提示,但我没有找到:(我使用的是java,但几乎是一样的:)我会试试看,谢谢你的建议如果结尾的字母“d”非常重要怎么办?我将其更改为
driver.findElement(By.xpath(“/*[contains(@id,“+year.format(new Date())+month.format(new Date())+day.format(new Date())+”))”)并且它可以工作。我试过:
driver.findElement(By.xpath(“/*[contains(@id,“+year.format(new Date())+month.format(new Date())+day.format(new Date())+“d)]”)
或simmiars方式(包括“Contains&&“d”)但不起作用::您的xPath可以是这样的:
driver.findelelement(By.xPath(“./*[以(@id'”+System.DateTime.Now.ToString(“yyyyMMdd”)+”)和Contains(@id,'d')])顺便说一句,有一些格式是
yyyyMMdd
,但是如果我有
yyymmddhhmmrrrrrrrd
其中r是随机数字,d是必须的呢?有可能让selenium找到它吗?是的,最后一部分
和contains(@id,'d')
使这成为可能。这迫使webdriver查找其
id
包含字母
d
的元素。由于您的
id
只包含数字(以日期和/或时间和随机数字的形式)和一个字母,因此您不应该有任何问题。