【问题标题】:PHPUnit and WebDriver(Selenium2) - How to operate an element before the page's fully loaded?PHPUnit 和 WebDriver(Selenium2) - 如何在页面完全加载之前操作元素?
【发布时间】:2014-03-27 12:37:13
【问题描述】:

默认情况下,Webdriver总是等待一个页面加载完毕,然后在这个页面上找到元素并对其进行操作。

例如打开 google.com 网站,等待其完全加载,然后找到搜索按钮,然后单击它。

有时,页面会连接到一些外部链接,例如 GA(统计服务),这通常会花费太多时间。并且我要点击的按钮在页面完全加载之前就已经加载完毕了。

如何让Webdriver在按钮加载后点击按钮,而页面的其他部分仍在加载中?

【问题讨论】:

    标签: selenium selenium-webdriver phpunit


    【解决方案1】:

    你总是可以在里面放一个等待命令。

     sleep(5); 
    

    这将使它“休眠 5 秒”

    不过,使用 'waitForElementPresent(); 更容易

     $this->waitForElementPresent("YOURELEMENT","50000");
    

    这将使您的脚本等待 50 秒或直到加载元素 YOURELEMENT = 定位器 50000 = 超时

    【讨论】:

    • 嗨@Decypher,你的回答不适合这个问题。我发现 selenium 的页面加载策略,它是 NORMAL ,这意味着 selenium 必须等待页面完全加载。
    • 当您使用 waitforelementpresent 时,如果元素可见,selenium 将继续,因此如果尚未加载其余部分,但您的元素会继续加载。或者你想完成页面加载? selenium 的页面加载是每当 selenium 认为它完成时,它就会继续,这在某些情况下是错误的。
    猜你喜欢
    • 1970-01-01
    • 2021-07-09
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2021-10-25
    相关资源
    最近更新 更多