Ruby 使用watir webdriver输入嵌套在iframe中的文本

Ruby 使用watir webdriver输入嵌套在iframe中的文本,ruby,watir,watir-webdriver,Ruby,Watir,Watir Webdriver,我正在尝试使用Watir将文本自动输入到嵌套在iframe中的输入字段中 这就是我用来尝试访问iframe的内容 fr=b.frame:index=>0 fr.text.include?“还记得我的登录ID吗 这是假的。 另外,如果我试图输出fr.text,它只是一个空字符串 我还创建了一堆HTML,我正试图运行它 或者你可以点击实际的网站 我试图通过索引访问iframe,因为没有指定ID或类 定位正确的框架 第一个问题是你看错了画面。假设您单击了登录链接,页面上实际上有4个框架 为了避免按索

我正在尝试使用Watir将文本自动输入到嵌套在iframe中的输入字段中

这就是我用来尝试访问iframe的内容

fr=b.frame:index=>0 fr.text.include?“还记得我的登录ID吗

这是假的。 另外,如果我试图输出fr.text,它只是一个空字符串

我还创建了一堆HTML,我正试图运行它

或者你可以点击实际的网站

我试图通过索引访问iframe,因为没有指定ID或类

定位正确的框架

第一个问题是你看错了画面。假设您单击了登录链接,页面上实际上有4个框架

<>为了避免按索引查找元素,还应该考虑IFRAME:In/P>元素的属性
<div class="_modal_content close-this-modal" id="_modal_content" tabindex="998">
  <div class="modal modal-iframe" tabindex="1000">
    <h1></h1>
    <div style="height: 638px;" class="modal-iframe-wrapper">
      <iframe marginheight="0" marginwidth="0" src="removed.html" frameborder="0" height="auto">
获取帧的文本

第二个问题是text方法为框架元素返回一个空白字符串。我不记得它是否一直是这样的,但似乎需要检查框架中特定元素的文本,而不是框架本身。最简单的方法是获取第一个元素,即html元素

fr.element.text.include? 'Remember My Sign-In ID'
#=> true

有什么问题?located=false只是表示您还没有尝试对框架做任何操作。啊;我不知道。我已经更新了问题的主体。基本上,一旦我尝试以这种方式获取iframe,然后尝试访问文本fr.text或iframe的任何元素,就什么都没有了。这让我相信它没有访问正确的iframe。谢谢!这正是我想要的。这是我第一次使用Watir,文档并没有那么详细:
fr.element.text.include? 'Remember My Sign-In ID'
#=> true