我看过这个问题的其他答案,但没有一个适用。我的是这个问题的一个非常奇怪的版本。
测试代码在一个循环中,在四个选项卡(不是浏览器选项卡)上执行相同的操作。过程是:
单击四个选项卡之一。单击按钮以填充网格。在网格上执行 5 次操作。(对每个选项卡重复)
所有五个操作第一次通过循环都可以正常工作。第二次通过循环,第三次操作失败:
$I->clickWithRightButton("//div[text() = '" . oPageVariables::$namePrefix .
$name . "']");
$I->waitForElement("//span[text() = 'Change Category']");
$I->see('Change Category');
$I->wait(1);
$I->click("//span[text() = 'Change Category']");
这是相关的HTML:
<span class="x-menu-item-text" id="ext-gen315">Change Category</span>
我不能使用 ID,因为它可以更改。请注意,我要单击的元素在每个选项卡上都是相同的。
右键单击可以下拉菜单,但单击操作失败并显示“元素不可见”,即使“$I->waitForElement”和 I->See 工作正常。
看着屏幕,“更改类别”元素肯定是可见的。
这是奇怪的部分。无论我如何更改测试选项卡的顺序,它总是在测试的第二个选项卡上失败(第二次通过循环)。这意味着选择器和代码都是正确的。我尝试将类添加到选择器,但结果是一样的。
任何线索表示赞赏。