Ruby Webdriver ActionClass double_click 不工作
Ruby Webdriver ActionClass double_click Not Working
我找到了一个类似的主题 here 并按照示例进行操作,但解决方案似乎不起作用。
我正在尝试使用找到的文档双击某个元素 here。
我有以下代码:
@article_zone = @driver.find_element(:id, "nbviewer-zone-overlay-13B27E79C7BC32F1").attribute("id")
哪个赋值@article_zone = "nbviewer-zone-overlay-13B27E79C7BC32F1"
然后我有下一行代码:
@driver.action.double_click("id=" + @article_zone).perform
但是这一行抛出以下错误:
Error: TypeError: expected Selenium::WebDriver::Element, got "id=nbviewer-zone-overlay-13B27E79C7BC32F1":String
元素 id=nbviewer-zone-overlay-13B27E79C7BC32F1
是我要双击的元素。我不知道为什么会收到此错误。
非常感谢任何帮助。感谢收看!
当你这样做时:
@driver.action.double_click("id=" + @article_zone).perform
您在 String
的实例上调用了 +
方法。这将尝试将 @article_zone
隐式转换为字符串并将其附加到 "id="
。然后将该字符串传递给 double_click
方法,该方法需要 Selenium::WebDriver::Element
.
的实例
我怀疑如果你删除 "id=" +
你会没事的:
@driver.action.double_click(@article_zone).perform
问题是因为 double_click
默认情况下尝试点击元素的中间 。当我检查元素时,它的中间隐藏在 "fold" 下方。为了解决这个问题,我可以移动到具有偏移量的元素(从左上角开始)并执行双击:
@driver.action.move_to(@article, 10, 10).double_click.perform
我找到了一个类似的主题 here 并按照示例进行操作,但解决方案似乎不起作用。
我正在尝试使用找到的文档双击某个元素 here。
我有以下代码:
@article_zone = @driver.find_element(:id, "nbviewer-zone-overlay-13B27E79C7BC32F1").attribute("id")
哪个赋值@article_zone = "nbviewer-zone-overlay-13B27E79C7BC32F1"
然后我有下一行代码:
@driver.action.double_click("id=" + @article_zone).perform
但是这一行抛出以下错误:
Error: TypeError: expected Selenium::WebDriver::Element, got "id=nbviewer-zone-overlay-13B27E79C7BC32F1":String
元素 id=nbviewer-zone-overlay-13B27E79C7BC32F1
是我要双击的元素。我不知道为什么会收到此错误。
非常感谢任何帮助。感谢收看!
当你这样做时:
@driver.action.double_click("id=" + @article_zone).perform
您在 String
的实例上调用了 +
方法。这将尝试将 @article_zone
隐式转换为字符串并将其附加到 "id="
。然后将该字符串传递给 double_click
方法,该方法需要 Selenium::WebDriver::Element
.
我怀疑如果你删除 "id=" +
你会没事的:
@driver.action.double_click(@article_zone).perform
问题是因为 double_click
默认情况下尝试点击元素的中间 。当我检查元素时,它的中间隐藏在 "fold" 下方。为了解决这个问题,我可以移动到具有偏移量的元素(从左上角开始)并执行双击:
@driver.action.move_to(@article, 10, 10).double_click.perform