Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Selenium多选择器可以';不定位元素_Javascript_Html_Selenium_Nightwatch.js - Fatal编程技术网

Javascript Selenium多选择器可以';不定位元素

Javascript Selenium多选择器可以';不定位元素,javascript,html,selenium,nightwatch.js,Javascript,Html,Selenium,Nightwatch.js,我正在尝试与按钮交互。Selenium/Nightwatch.js无法定位 按钮不在不同的iframe中。 我尝试了多个选择器,但都不起作用。 这些元素不隐藏,可以手动单击。 我还尝试添加等待,以确保这不是一个时间问题 我可以验证身体的存在,之后硒就看不到其他元素了 我的代码: 。暂停(5000) .useCss() .verify.visible('.coral.button.toggle sidepanel.editor GlobalBar item.js editor sidepanel

我正在尝试与按钮交互。Selenium/Nightwatch.js无法定位

按钮不在不同的iframe中。 我尝试了多个选择器,但都不起作用。
这些元素不隐藏,可以手动单击。 我还尝试添加等待,以确保这不是一个时间问题

我可以验证身体的存在,之后硒就看不到其他元素了

我的代码:

。暂停(5000)
.useCss()
.verify.visible('.coral.button.toggle sidepanel.editor GlobalBar item.js editor sidepanel toggle')
.验证.可见('html.wf-adobeclean-i4-active.wf-adobeclean-n3-active.wf-adobeclean-n4-active.wf-adobeclean-n7-active.wf-adobeclean-condensed-n4-active.wf-adobeclean-n7-active.wf-active.wf-active-active-body.coral-light div-Content.editor-panel-active div.editor-panel-editor-provider-GlobalBar.js-editor-panel-panel-header.editor-header nav.coral-panel-header。header main div.editor-GlobalBar-leftContainer按钮.coral MinimalButton.toggle sidepanel.editor GlobalBar item.js editor sidepanel toggle')
.单击('.com.button.toggle sidepanel.editor GlobalBar item.js editor sidepanel toggle'))
点击('html.wf-adobeclean-i4-active.wf-adobeclean-n3-active.wf-adobeclean-n4-active.wf-adobeclean-n7-active.wf-adobeclean-condensed-n4-active.wf-adobeclean-n7-active.wf-active.wf-active-active-body.coral-light div-Content.editor-panel-active div.editor-panel-editor-provider-GlobalBar.js-editor-panel-panel-header.editor-header nav.coral-panel-header。header main div.editor-GlobalBar-leftContainer按钮.coral MinimalButton.toggle sidepanel.editor GlobalBar item.js editor sidepanel toggle')
.useXpath()
.verify.visible(“//html/body/div[4]/div[1]/nav/div[1]/button[1]”)
。单击(“//html/body/div[4]/div[1]/nav/div[1]/按钮[1]”)
//再次使用部分css指向同一元素
.useCss()
.verify.visible('按钮[title=“切换侧面板”]”)
。单击('按钮[title=“切换侧面板”]”)
//正在尝试验证尸体是否可定位
.verify.visible('body[class=“coral--light”]”)
//这证明我能找到尸体
。验证。可见('html.wf-adobeclean-i4-active.wf-adobeclean-n3-active.wf-adobeclean-n4-active.wf-adobeclean-n7-active.wf-adobeclean-n4-active.wf-adobeclean-n7-active.wf-active-active.coral--light')

搜索资产
组件

您可以尝试以下xpath:-

//button[@title='Toggle Side Panel']

您可以尝试以下xpath:-

//button[@title='Toggle Side Panel']

这个选择器比需要的要详细得多,但我这样做是为了让您看到它是如何遍历页面到达那里的

driver.FindElement(By.CssSelector("body.coral--light div#Content button[type=button]")

如果这不起作用,那么页面上还有其他一些东西会影响元素的可见性。如果页面是公共的,请发送URL,我来看看。

此选择器比需要的详细得多,但我这样做是为了让您可以看到它是如何通过页面到达那里的。当我在上面的代码上运行它时,它会起作用

driver.FindElement(By.CssSelector("body.coral--light div#Content button[type=button]")

如果这不起作用,那么页面上还有其他一些东西会影响元素的可见性。如果页面是公共的,请发送URL,我来看看。

这是用javascript更改窗口的解决方案,我关闭了第一个窗口,然后切换到第二个。感谢大家的时间和考虑

  .closeWindow()
  .pause(1000)
  .window_handles(function(result) {
      var newHandle = result.value[0];
      this.switchWindow(newHandle);
        })

这是在javascript中更改窗口的解决方案,我关闭了第一个窗口,然后切换到第二个。感谢大家的时间和考虑

  .closeWindow()
  .pause(1000)
  .window_handles(function(result) {
      var newHandle = result.value[0];
      this.switchWindow(newHandle);
        })

您还可以提及您从您这边尝试了什么。我已将帧设置为null。添加了等待。并尝试了多个选择器为什么Firebug提供的XPath/css不起作用?双负*工作您还可以提及您从您这边尝试了什么。我已将帧设置为null。添加了等待。并尝试了多个选择器为什么giv不起作用Firebug的en xpath/css不工作?双负*工作也不工作。我认为这与特定的选择器选择无关。在您编写的代码中:-.verify.visible('button[title=“Toggle Side Panel”]”)。单击('button[title])=“Toggle Side Panel”]')这里xpath应该以双正斜杠“/”开头,但这也不起作用。我认为这与特定的选择器选择无关。在您编写的代码中:-。verify.visible('button[title=“Toggle Side Panel”]'))。单击('button[title=“Toggle Side Panel”]”)此处xpath应以双正斜杠“/”开头。谢谢,这不是selector的问题,也不是selector的问题