Я создаю функцию многократного использования для обработки фреймов и хочу щелкнуть на флажке «Я не робот» на веб-сайте fantasy11. Это исключение -. Пожалуйста, помогите..Борьба с многоразовыми функциями для обработки фреймов
Я пробовал много, но стараюсь получить правильные результаты.
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class section9frames {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver=new FirefoxDriver();
driver.get("https://fantasycricket.dream11.com/IN/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
int number=findframenumber(driver,By.xpath(".//*[@id='recaptcha-anchor']/div[5]"));
driver.switchTo().frame(number);
driver.findElement(By.xpath(".//*[@id='recaptcha-anchor']/div[5]")).click();
driver.switchTo().defaultContent();
int number1=findframenumber(driver,By.xpath(".//*[@id='recaptcha-verify-button']"));
driver.switchTo().frame(number1);
driver.findElement(By.xpath(".//*[@id='recaptcha-verify-button']")).click();
}
public static int findframenumber(WebDriver driver,By by) {
int i;
int framecount=driver.findElements(By.tagName("iframe")).size();
for (i=0;i<framecount;i++) {
driver.switchTo().frame(i);
int count=driver.findElements(by).size();
if(count>0) {
break;
} else{
}
}
driver.switchTo().defaultContent();
return i;
}
}
Please have a look into the image
Зачем? –
Исключение из потока «main» org.openqa.selenium.NoSuchFrameException: невозможно найти фрейм: 1 –
Итак, вы пишете код, чтобы создать робота, чтобы обойти функцию, которая пытается предотвратить роботы ... не делайте этого , – JeffC