首页 > 解决方案 > 如何在 Selenium 中循环选项卡 - PHP Webdriver

问题描述

我有一个包含 10 个链接的数组,并且必须访问 10 个链接才能获取 facebook 像素代码。

我使用 selenium 循环 10 个链接,但它抛出错误:

"stale element reference: element is not attached to the page document".

所以现在我打开 10 个链接的新标签。但是我怎样才能循环 10 个选项卡或显式移动到其中的任何选项卡。

非常感谢。

标签: phpseleniumwebdriver

解决方案


您可以将所有当前选项卡存储在一个数组中,然后循环遍历它以执行任何操作。切换选项卡的示例:

    $handles = $driver->getWindowHandles();
    foreach ($handles as $handle) {
    $driver->switchTo()->window($handle); 
     }

在切换选项卡之前,请始终将父窗口选项卡存储在某处:

$parent_tab= $session->getWindowHandle();

当您完成切换选项卡时,切换回您的父选项卡:

$driver->switchTo()->window($parent_tab);

推荐阅读