Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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 如何验证随机数生成并提供计算_Java_Selenium_Junit_Automation_Seetest - Fatal编程技术网

Java 如何验证随机数生成并提供计算

Java 如何验证随机数生成并提供计算,java,selenium,junit,automation,seetest,Java,Selenium,Junit,Automation,Seetest,我有一个网站上的网站有一个表格填写,有一个验证码,它产生随机数,并要求用户做加法,并输入一个数字 我正试图使用Java在Selenium上实现这一点 我如何验证随机数,获取它们,进行计算,然后将答案添加到输入字段 找到保存验证码质询的web元素 WebElement element = driver.findElement(By.className("et_pb_contact_captcha_question")); 将其文本转换为: 使用例如 应该是这样的: 在更复杂的验证码挑战中,如果无

我有一个网站上的网站有一个表格填写,有一个验证码,它产生随机数,并要求用户做加法,并输入一个数字

我正试图使用Java在Selenium上实现这一点

我如何验证随机数,获取它们,进行计算,然后将答案添加到输入字段

找到保存验证码质询的web元素

WebElement element = driver.findElement(By.className("et_pb_contact_captcha_question"));
将其文本转换为:

使用例如

应该是这样的:


在更复杂的验证码挑战中,如果无法在页面源中找到值,则必须使用OCR或图像识别库,如或

使用模式验证一位数字或两位数字?Pattern digitPattern=Pattern.compile\\d{1};或Pattern digitPattern=Pattern.compile\\d{2};获取字符串“X+Y=”,使用拆分和/或替换,您可以提取X和Y,最后将它们转换为整数。@pbugr我该怎么做,我显然对此非常陌生……我可以找到一个字段,它是et_pb_contact_captcha_question,但是如何提取X+Y对我来说有点太多了。这是我之前尝试的公共void Capta{WebElement X=driver.findElementBy.xpath/*[@id=\et\u pb\u contact\u form\u 0\]/div[2]/form/div/div/p/span;System.out.printlnculation print out+X;我要做的是定位数字并将值传递给“X”,然后我要拆分它们,问题是我使用的是BY.Xpath,我想这是定位元素,而不是元素中的值。谢谢,我会尝试一下,然后再回复你
String captchaText = element.getText();
String captchaResult = new javax.script.ScriptEngineManager().getEngineByName("javascript").eval(captchaText).toString();