赞:1+ 7 =
网站有一个文本框,此文本框将接受两个数字之和的输入。我们如何捕获这两个数字,如1和7.任何数字都可以来到这个位置。
请帮帮我。
答案 0 :(得分:1)
<html>
<body>
<input type ="text" id ="x">
<p> + </p>
<input type ="text" id ="y">
<script>
function adder(a,b){
var x = Number(document.getElementById("x").value);
var y = Number(document.getElementById("y").value);
document.getElementById("demo").innerHTML = x+y;
}
</script>
<button type = "button" onclick = "adder(x,y)"> calculate </button>
<p id = "demo"> </p>
</body>
</html>
答案 1 :(得分:0)
你真的不能这样做,因为如果“机器”可以解决它,CAPTCHA(完全自动公共图灵测试告诉计算机和人类除外)并没有做到这一点。
您可以做的是使用外部服务的API,例如http://www.deathbycaptcha.com。他们可以“为你”解决CAPTCHA,响应时间约为15秒。
实施例:
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Captcha;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.HttpClient;
/* Put your DeathByCaptcha account username and password here.
Use HttpClient for HTTP API. */
Client client = (Client)new SocketClient(username, password);
try {
double balance = client.getBalance();
/* Put your CAPTCHA file name, or file object, or arbitrary input stream,
or an array of bytes, and optional solving timeout (in seconds) here: */
Captcha captcha = client.decode(captchaFileName, timeout);
if (null != captcha) {
/* The CAPTCHA was solved; captcha.id property holds its numeric ID,
and captcha.text holds its text. */
System.out.println("CAPTCHA " + captcha.id + " solved: " + captcha.text);
if (/* check if the CAPTCHA was incorrectly solved */) {
client.report(captcha);
}
}
} catch (AccessDeniedException e) {
/* Access to DBC API denied, check your credentials and/or balance */
}
答案 2 :(得分:0)
我们无法自动化验证码,但可以处理这些问题。 场景: 1.输入用户名 2.手动在控制台中输入验证码 3.输入密码
driver.findElement(By.id("username")).sendKeys("username");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String captcha;
System.out.println("Please Enter the CAPTCHA Code:: ");
captcha = br.readLine();
System.out.println("Entered CAPTCHA Code is:: "+captcha);
driver.findElement(By.id("password")).sendKeys("password");
答案 3 :(得分:0)
自动化只有您可以获得开发团队的支持才能绕过验证码。这可以通过修复长令牌来实现,在开发环境中禁用验证码,为测试目的提供静态验证码。
如果没有任何问题,麻烦或时间问题,您无法自动执行常规验证码。 Captchas是为了防止自动化。
答案 4 :(得分:0)
我更喜欢手动解决方案,例如:
input_captcha = input("Entered CAPTCHA Code is: ")
browser.find_element_by_id("j_captcha").send_keys(input_captcha)
答案 5 :(得分:0)
CAPTCHA-完全自动化的公共Turing测试,可以区分计算机和人类。 如果将其自动化,则将杀死在网站上创建验证码的唯一目的。 要求您的开发人员在您的质量检查环境中将其禁用,然后继续进行测试或使用预定义的Cookie(硬编码的验证码)。
答案 6 :(得分:-1)
String capchavalue = driver.findElement(By.xpath("#")).getText().trim();
String removespace = capchavalue.replaceAll("\\s+", "");
String[] parts = removespace.split("\\+");
String part1 = parts[0];
String part2 = parts[1];
String[] parts1 = part2.split("\\=");
String part11 = parts1[0];
int summation = Integer.parseInt(part1) + Integer.parseInt(part11);
String final_value = String.valueOf(summation);
driver.findElement(By.xpath("#")).sendKeys(final_value);