selenium - 如何在页面完全加载之前启动点击

标签 selenium selenium-webdriver

我在使用 Selenium Webdriver 时遇到问题,即使页面明显已加载并且我想在页面上单击的按钮现在可用,页面仍会继续加载。

我使用了隐式和显式等待页面加载,但没有成功。

如何强制驱动程序单击尚未完成加载的页面上的按钮?

我的显式等待代码片段:

    myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.xpath("(//button[@type='submit'])[2]")));
    myDynamicElement.click();

谢谢

添加了 HTML:

    </div>

    <div class="first-message-form">

        <form role="form" action="/signup/first-message" method="POST">
            <div class="form-group">

                <textarea id="message_message" name="message[message]"    class="form-control"></textarea>

            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-primary btn-lg">Post to others</button>
                <button type="submit" class="btn btn-default btn-lg">Skip</button>
            </div>
        </form>

    </div>

</div>

“跳过”按钮是我试图点击的按钮。

最佳答案

我会在该按钮上执行javascript。我假设您正在使用 selenium java 绑定(bind),因为您从未提到过这一点。

JavascriptExecutor js =(JavascriptExecutor) driver;
    js.executeScript("document.querySelector(\"[type='submit'][class='btn btn-default btn-lg']\").click();");

此脚本应单击Skip按钮

实际上,我从未遇到过页面无法完成加载的任何问题。这就是为什么我很好奇您在导航到 url 时是否做了不应该做的事情。

关于selenium - 如何在页面完全加载之前启动点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28312020/

相关文章:

python - 为什么程序总是打开http ://--port=57883/using IEDriverServer IE through Selenium Python

selenium - 使用 css 选择器在精确元素中按精确文本查找元素

java - 如何通过assert验证表中添加的数据 - Selenium WebDriver Java

c# - "Element is not currently visible and so may not be interacted with"但另一个是?

javascript - Python selenium-单击 javascript 链接不会加载新页面但会显示 url

java - 无法切换到 Selenium 中的框架,并在下面的描述中给出了详细信息

java - 如何在 java 中使用 Selenium Webdriver 计算下载文件大小、状态、剩余时间和传输率

python - 使用 selenium webdriver 获取浏览器版本

java - 如何将字符串值转换为整数值并希望通过 webdriver 中的 'SendKeys' 提供

javascript - 无法使用方法 : browser. click 和 xpath://input[2] 单击元素