草庐IT

ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作?

我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption

ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么?

require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

ruby - 如何让 Selenium/Ruby 机器人在执行操作之前等待?

我正在构建一个点击元素的Selenium/Ruby网络机器人。问题是,有时在机器人决定找不到元素之前没有足够的时间加载页面。让Selenium在执行操作之前等待的Ruby方法是什么?我更喜欢显式等待,但我也接受隐式等待。我尝试使用wait.until方法:require"selenium-webdriver"require"nokogiri"driver=Selenium::WebDriver.for:chromewait=Selenium::WebDriver::Wait.new(:timeout=>15)driver.navigate.to"http://google.com"dr

ruby-on-rails - 如何指定与factory_bot的关联?

例如我有两个模型一个用户和一个帖子。一个帖子属于_一个用户,一个用户有很多帖子#spec/factories/post.rbFactoryBot.definedofactory:postdouserbodyFaker::Movie.quoteposted_at"2018-04-0313:33:05"endend#spec/factories/user.rbFactoryBot.definedofactory:userdofirst_name'Jake'endend在测试中使用Rspec我想这样做:user=create(:user,first_name:'Barry')#id1post

javascript - 如何将站点摘要提供给 Google Bot?

我注意到,对于我的网站摘要,GoogleBot似乎会提供它找到的第一批文本。这恰好是告诉用户打开JavaScript的noscript标签,如果它没有启用的话。我想我会阻止它,通过在它之前放置一个隐藏的div,它实际上包含一个站点摘要。现在,我在其最新的解析中发现它实际上加载了页面,并运行了JavaScript,绕过了隐藏的div并使用了生成的动态内容。奇怪的是,我的应用将机器人识别为Safari浏览器,但它没有检测到版本。长话短说,如何将我的网站摘要正确地放入Google列表中?它是一个需要JavaScript的单页应用程序,目前仅支持FireFox和Safari。这是它忽略的内容片

javascript - 使用 JavaScript 生成的复选框防止垃圾邮件和机器人程序

我读到有人可以通过使用JS在必须设置的表单中创建复选框(即http://uxmovement.com/forms/captchas-vs-spambots-why-the-checkbox-captcha-wins/)来阻止机器人。这个策略有效吗?用户是否需要实际选中该框,或者也可以使用客户端JS来选中它? 最佳答案 我觉得这篇文章有问题。checkboxcaptcha似乎是一种很好的防御垃圾邮件机器人的方法,这些机器人盲目填写表格,对他们碰巧所在的网站一无所知,但是如果有人正在编写一个对您的网站有任何洞察力的机器人页,好处到此为止

javascript - 有没有办法检测元素是否被 jQuery 的 click() 单击?

我不太确定这是否可能,但无论如何都可以实现吗?我想对脚本进行一些基本保护,这些脚本会自动在我的按钮上注册点击事件,例如:讨厌的机器人。我只想允许用鼠标点击,而不是由javascript本身触发的点击。对此有什么想法或其他保护方法吗? 最佳答案 你想识别点击事件是通过元素点击触发的,还是通过任意js代码触发的,对吧?在那种情况下,您可以使用“点击”事件返回的“事件”对象你可以使用event.hasOwnProperty('originalEvent')如果事件是通过点击目标元素触发的,则上述语句返回true,否则返回false

javascript - 如何阻止机器人抓取我基于 AJAX 的 URL?

我在我的ASP.NETMVC3网站上有几个页面(这里的技术并不重要),我在这些页面上呈现了中的某些URL。页面上的标记,以便我的JavaScript(存储在外部文件中)可以对服务器执行AJAX调用。像这样:......$(function(){myapp.paths.someUrl='/blah/foo';//nothardcodedinreality,butN/Ahere});现在在服务器端,这些URL中的大多数都受到属性的保护,声明:a)它们只能通过AJAX访问(例如XmlHttpRequest)b)它们只能通过HTTPPOST访问(因为它返回JSON-安全性)问题是,出于某种原因

javascript - 表单机器人反制测试

我是一个网站的Web开发人员,该网站偶尔会受到表单机器人的困扰。最近,我收到了一个错误通知,指出表单提交存在问题,人类用户应该无法提交。您无法在未启用JavaScript的情况下提交表单,但服务器端脚本收到了JavaScript验证不允许的表单字段值。我怀疑表单机器人在没有运行JavaScript的情况下设法提交了表单,但我不完全确定这是问题所在,因为真实用户遇到了类似的问题。我知道如何使用蜜jar字段作为表单机器人的对策,但我需要测试我的对策。因此,我需要一个有效的表单机器人来攻击我的表单,这样我就可以看到结果是什么,并验证我的对策是否有效。我认为您可以使用PHP和Curl来提交We

javascript - Node Telegram bot api,在用户之间进行链式对话

我已经开始使用这个module为Telegram编写机器人逻辑我可以像这样创建简单的问答逻辑:bot.onText(/\/start/,function(msg,match){bot.sendMessage(msg.chat.id,"Hellothisisgreatbot");});当用户键入/start时,他将收到此消息。我想在机器人和用户之间创建类似链式对话的东西。就像当用户输入/buy时,机器人会显示购买选项,在用户输入他想购买的东西后,机器人会显示所选产品的类型等等。如何在用户和机器人之间创建链式对话?如何让机器人记住以前选择的命令并在需要时重置它们?为此,我是否需要保留在自己