当前位置: 首页 > 面试题库 >

如何使用Selenium和Java单击reCaptcha

田琛
2023-03-14
问题内容

为什么在尝试让驱动程序单击reCaptcha按钮时出现错误?

这是我尝试使其工作的网站:https ://rsps100.com/vote/760/

到目前为止,这是我当前的代码:

WebElement iframeSwitch = driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/div/div/div[2]/div/form/div/div/div/div/iframe"));
driver.switchTo().frame(iframeSwitch);   
driver.findElement(By.cssSelector("div[class=recaptcha-checkbox-checkmark]")).click();

问题答案:

要调用click()的验证码 复选框为元素中的<iframe>您需要:

为所需的frameToBeAvailableAndSwitchToIt诱导WebDriverWait。为所需的elementToBeClickable诱导WebDriverWait。您可以使用以下解决方案:

* Code Block:

            public class ReCaptcha_click {

        public static void main(String[] args) {

            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            ChromeOptions options = new ChromeOptions();
            options.addArguments("start-maximized");
            options.addArguments("disable-infobars");
            options.addArguments("--disable-extensions");
            WebDriver driver = new ChromeDriver(options);
            driver.get("https://rsps100.com/vote/760");
            new WebDriverWait(driver, 10).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("//iframe[starts-with(@name, 'a-') and starts-with(@src, 'https://www.google.com/recaptcha')]")));
            new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.recaptcha-checkbox-checkmark"))).click();
        }
    }
  • Browser Snapshot:

reCaptcha



 类似资料:
  • 这是我目前的代码:

  • 问题内容: 我正在尝试使用selenium进行右键单击,对此有任何想法吗? 问题答案: 我已经尝试过ActionSequence,而且效果很好。 找不到ContextClick函数,应使用click。 因此,应如下所示: 元素是您的Web元素,2表示右键。 要大致模拟JavaScript中的右键单击,请查看JavaScript模拟代码中的右键单击。

  • 问题内容: 这是我的源代码: 我需要单击“添加新信用卡”卡,该卡在同一页面上打开表格。无法使用Selenium执行此操作。 友善的建议。 问题答案: 请尝试以下操作:

  • 问题内容: 我有一个带有几个矩形元素的对象。使用,我试图单击主要对象之一。但是,使用xpath- checker我无法检测到相同的正确值。 到现在为止,我可以深入了解以下内容: 我的代码如下: 有人可以帮我吗? 问题答案: 尝试执行以下操作,让我知道问题是否仍然存在: 对于元素: 更新资料 最后,这几乎是最佳选择:

  • 我有一个html链接

  • 我想单击以下按钮: https://i.stack.imgur.com/ifiDC.png 到目前为止,我的代码看起来像这样,但什么也没发生: https://i.stack.imgur.com/Cgi5v.png 谢谢你的帮助:)