使用php在selenium中保持2分钟后重新加载页面

时间:2018-02-22 06:50:45

标签: php selenium

我是selenium的新手。我想在2分钟后重新加载相同的网页。 我尝试过以下代码,但它不起作用: -

for($i = 0; $i < 7; $i++)
    {
        $this->webDriver->get($this->url);
        $this->webDriver->findElement(WebDriverBy::xpath('/html /body/div[1]/div/div[4]/button/svg/path[1]'))->click();
       // $this->webDriver->quit();
       // echo $this->webDriver->getTitle() . "\n";
        //$this->webDriver->navigate()->back();
    }

1 个答案:

答案 0 :(得分:1)

根据您共享的代码块,循环不会完成,因为以下行将引发异常:

$this->webDriver->findElement(WebDriverBy::xpath('/html /body/div[1]/div/div[4]/button/svg/path[1]'))->click();

那是因为, webDriver 无法通过您采用的定位器策略找到 webelement 并可能抛出NoSuchElement <svg>元素来自不同的svg命名空间。

解决方案

您必须获取定位器策略的帮助才能构建正确的定位器以识别和检测<svg>元素,然后尝试调用{{1方法就可以了。

您可以在此处找到有关Selenium WebDriver [Java]: How to Click on elements within an SVG using XPath

的详细讨论