Selenium php webdriver单击后检查属性
在重定向到目标之前,有没有办法检查class属性是否包含“loading”(加载)?您可以使用JavaScript编辑Selenium php webdriver单击后检查属性,php,selenium-webdriver,Php,Selenium Webdriver,在重定向到目标之前,有没有办法检查class属性是否包含“loading”(加载)?您可以使用JavaScript编辑href属性并添加它 $element = $driver->findElement(WebDriverBy::className('lnk')); $element->click(); 现在您有足够的时间检查类属性是否包含加载 $element = $driver->findElement(WebDriverBy::className('lnk')); $h
href
属性并添加它
$element = $driver->findElement(WebDriverBy::className('lnk'));
$element->click();
现在您有足够的时间检查类
属性是否包含加载
$element = $driver->findElement(WebDriverBy::className('lnk'));
$href = $element->getAttribute('href');
$script = "javascript:setTimeout( function() { window.location = {$href} }, 5000 );"
$driver->executeScript("arguments[0].setAttribute('href', arguments[1]);", $element, $script);
我不熟悉selenium和JavaScript(包括英语,所有机器都是从英语翻译过来的)。 如果有任何错误,请纠正我 我认为测试点击事件在默认情况下很难通过点击访问连接。因此,只要我们在测试单击之前删除默认单击,您就可以执行所需的测试。 代码如下: html:
文件
.装货{
字体大小:40px;
}
函数加载()
{
$(“#谷歌”).attr('class','loading');
}
如果没有在处理程序中调用event.preventDefault的单击事件处理程序,则可能无法工作。
$element = $driver->findElement(WebDriverBy::className('lnk'));
$href = $element->getAttribute('href');
$script = "javascript:setTimeout( function() { window.location = {$href} }, 5000 );"
$driver->executeScript("arguments[0].setAttribute('href', arguments[1]);", $element, $script);
$element = $driver->findElement(WebDriverBy::className('lnk'));
$class = $element->getAttribute('class');
if (strpos($class, 'loading') !== false) { }