尝试在PHP中切换ToiFrame()时,“无效参数:'id'不能是字符串”
我也试着在getSession中这样做。同样的结果。 我也尝试过使用其他选择器。同样的结果。 我也试着像switchToIFrame1那样索引;因为我的iframe是第二个。这个没有错误,但是在iframe中找不到任何元素,比如字段。尝试在PHP中切换ToiFrame()时,“无效参数:'id'不能是字符串”,php,selenium,iframe,behat,Php,Selenium,Iframe,Behat,我也试着在getSession中这样做。同样的结果。 我也尝试过使用其他选择器。同样的结果。 我也试着像switchToIFrame1那样索引;因为我的iframe是第二个。这个没有错误,但是在iframe中找不到任何元素,比如字段。 我还尝试自己用javascript重命名iframe。相同的结果。将此添加到behat.yml后,它就起作用了 public function switchActionScopeToIframe($name) { $this->
我还尝试自己用javascript重命名iframe。相同的结果。将此添加到behat.yml后,它就起作用了
public function switchActionScopeToIframe($name)
{
$this->getdriver()->switchToIFrame($name);
}
$this->switchActionScopeToIframe("my-iframe-name");
根据以下规范: 该命令用于选择要用作后续命令的或的 远程步骤包括: 让id作为从parameters参数获取属性id的结果 如果id不为null、数字对象或表示web元素的对象,则返回错误,错误代码为无效参数 如果当前浏览上下文不再打开,则返回错误,错误代码为“无此窗口” 处理任何用户提示并在出现错误时返回其值 运行第一个匹配条件的子步骤,如果id表示web元素: 让元素成为尝试通过web元素引用id获取已知元素的结果。 如果元素过时,则返回错误,错误代码为stale元素引用。 若元素不是帧或iframe元素,则返回错误,错误代码为“无此帧”。 将当前浏览上下文设置为元素的嵌套浏览上下文。
对于Drupal Mink,我添加了这样的功能
capabilities:
extra_capabilities:
goog:chromeOptions:
w3c: false
我的iframe名称是如何定义的?对不起。那应该是一根绳子。不确定它是否会影响,但iframe后面是包含基于HTML的文档,它应该是$this->switchActionScopeToIframemy iframename;my iframe名称是一个占位符。问题不在于名字。
extensions:
Drupal\MinkExtension:
goutte: ~
selenium2:
wd_host: 'http://selenium:4444/wd/hub'
browser: 'chrome'
capabilities:
...
extra_capabilities:
chromeOptions:
w3c: false
...