我正在开发一个动态页面,其中ID,Xpath和name属性会不时发生变化。 为了使我的脚本稳定。我想随机点击页面上的5个按钮,然后在1-100之间随机发送一个可用的输入框,最后点击提交按钮(SCOMMETTI)进行下注。该页面的链接如下: http://sports.williamhill.it/bet_ita/it/betting/y/5/Calcio.html
以下脚本失败,因为事件在后端不断变化:
enter code here
driver.findElement(By.xpath("//*[@id='tup_selection570167price']")).click();
driver.findElement(By.xpath("//*[@id='slip_sgl_stake570167L']")).sendKeys("5");
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='tup_selection570176price']")).click();
driver.findElement(By.xpath("//*[@id='slip_sgl_stake570176L']")).sendKeys("10");
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='tup_selection570179price']")).click();
driver.findElement(By.xpath("//*[@id='slip_sgl_stake570179L']")).sendKeys("4");
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='tup_selection570191price']")).click();
driver.findElement(By.xpath("//*[@id='slip_sgl_stake570191L']")).sendKeys("7");
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='tup_selection570200price']")).click();
driver.findElement(By.xpath("//*[@id='slip_sgl_stake570200L']")).sendKeys("100");
Thread.sleep(1000);
System.out.println("Placing amount on Bet");
答案 0 :(得分:0)
如果您的ID,Xpath和名称属性不时发生变化,您应该存储在一个数组中并使用循环可以单击它们。像这样
ArrayList<WebElement> input_type = (ArrayList<WebElement>)
driver.findElements(By.tagName("input"));
for (int i = 0; i < input_type.size(); i++) {
for(WebElement type : input_type)
{
if(type.getAttribute("type").equals("button")){
type.click();
type.submit();
}
享受!