首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >机械点击元素

机械点击元素
EN

Stack Overflow用户
提问于 2014-09-09 11:06:28
回答 1查看 1.1K关注 0票数 2

我有下面的html代码。我想使用Ruby机械化,选择特定文本的下拉元素(我想点击它)。中国的例子。我的问题是怎么做?我在机械方面是新手。

代码语言:javascript
复制
<form class="form-inline search search-large" action="/translate" method="get">  
<input id="q" name="q" type="text" placeholder="Search" class="input-large" value="" autofocus="autofocus" data-pons-redirect-input="true" data-pons-autofocus="true" autocomplete="off">
<div class="btn-group source open" data-pons-lang="de">
  <button class="btn btn-large dropdown-toggle" data-toggle="dropdown">
    <span class="text">Chinese</span>
    <i class="icon-angle-down"></i>
  </button>
  <ul class="dropdown-menu">

        <li>
          <a href="#" class="language">
            <span class="text">Chinese</span>
            <span class="flag flag_zh"></span>
          </a> 
        </li>

        <li>
          <a href="#" class="language">
            <span class="text">Elvish</span>
            <span class="flag flag_lb"></span>
          </a> 
        </li>        
  </ul>
</div>
</form>
EN

回答 1

Stack Overflow用户

发布于 2014-09-09 12:44:28

坏消息

据我所见,您的示例页面太复杂了,不能让机械化的接口使用例如.click方法。实际上,它将能够跟随链接(""),但我想这不会对你有多大帮助,因为它似乎有一些javascript或其他黑魔法涉及。

您可以首先尝试通过禁用浏览器中的JavaScript来查看页面是否能够很好地工作(而不是保证)。

好消息

无论如何,最终您会想要机械化地执行某些类型的HTTP请求--不管是否由JS触发,这都无关紧要。您将能够使用机械化(尽管它不一定是所有场景的最佳选择)。

提示

我鼓励您使用浏览器开发人员的东西(通常通过按F12来激发),看看实际发生了什么,例如哪种表单是用哪个值提交的。而且,不要忘记在与javascript一起使用和不使用JavaScript时检查它是否相同(据我所知,机械化不会执行JavaScript)。

此外,在开发机械化代码时,请使用irb或其他像pry这样的repl来实时测试您的代码。您的机器代理或页面将有一个方法保存或save_as或类似的方法,您可以随时保存当前页并在浏览器或喜爱的文本编辑器中查看它。记住,irb中的_给出了您的最后一个返回值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25743073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档