jjzjj

selenium - Docker 容器中的 Firefox 可从另一个容器中的 selenium 访问

我有一个运行Rails应用程序的docker容器(我们称之为容器A),它需要使用Firefox作为后端使用watirwebdriver进行一些抓取。我在另一个容器(容器B)中安装了firefox,我希望能够在容器A中传递类似:Selenium::WebDriver::Firefox::Binary.path=$DOCKER_RUN_CONTAINER_A因此,每次watir启动firefox时,一个新的CONTAINER_A实例都会启动一个新的firefox。我知道让容器使用端口进行通信很容易,但是可执行文件呢?而且,顺便说一句,将Firefox隔离在一个单独的容器中看起来是不是一个不

ruby - watir-webdriver 在保持浏览器打开的同时更改代理

我正在使用Ruby中的Watir-Webdriver库来检查一些页面。我知道我可以使用通过代理连接profile=Selenium::WebDriver::Firefox::Profile.new#createanewprofileprofile.proxy=Selenium::WebDriver::Proxy.new(#createproxydataforintheprofile:http=>proxyadress,:ftp=>nil,:ssl=>nil,:no_proxy=>nil)browser=Watir::Browser.new:firefox,:profile=>profi

javascript - Watir - 如何访问通过 Javascript 生成的输入类型 = 文本元素?

我是Ruby(Watir)和Javascript的新手。如果网站使用动态(通过单击按钮等)生成按钮的Javascript代码,我不知道如何访问它们。它可能有自己的名称或ID,但我什至无法检查它,因为生成的按钮不是通过浏览器建立在网页的源代码上...我认为这可能是一个答案;browser=Watir::Browser.new(:firefox)browser.send_keys:tab直到我意识到我似乎没有办法引用焦点按钮,即使我通过tab键将焦点设置在目标上......编辑:谢谢大家。我认为这是一个菜鸟问题,现在我面临另一个大问题(所有生成的按钮共享完全相同的属性!!,所以我不能指定是

ruby - 使用 Ruby Watir,如何选择 ID 不断变化的复选框?

这是我正在使用的HTML:BecomesAsset我需要选中复选框。我无法使用ID,因为我在多个组织中执行此操作,并且每个组织的ID都不同。有没有一种方法可以通过标签文本或标签索引进行选择? 最佳答案 通过标签文本而不是tabindex获取复选框可能更安全。解决方案1-:label定位器:如果您使用watir-webdriver,则可以直接根据标签文本定位元素-通过:label定位器。您可以执行以下操作:#Exactmatchoflabeltext:b.checkbox(:label=>'BecomesAsset').set#Par

ruby - 使用 Watir Webdriver 滚动 Firefox

我想抓取一个在我向下滚动网络浏览器时动态生成更多内容的网站。我看过相关帖子,Auto-ScrollinFireFox,但它没有回答我的问题。是否可以使用Watir网络驱动程序将网页滚动到页面末尾(网络服务器不再生成更多内容)或直到刷新几次? 最佳答案 我最近尝试做类似的事情,令我惊讶的是webdriver似乎不支持滚动。我确实找到了两个解决方法。这会将space发送到浏览器,并且它会向下滚动(例如在twitter.com上工作):browser.send_keys:space这将滚动到该元素,如果该元素位于页面底部,它将加载更多内容

windows - 适用于 Windows 上 Watir 的哪个 Ruby 版本?

我应该在Windows环境中使用哪个版本的Ruby?我正在尝试在1.9上使用Watir,但它不起作用。将适用于1.8.6。关于使用哪个版本的任何建议以及Watir不能在1.9上运行的原因 最佳答案 Watir.com推荐使用Ruby1.8.6-26。我没有尝试过,但是有一个Watir的分支声称与Ruby1.9兼容:http://github.com/vapir/vapir 关于windows-适用于Windows上Watir的哪个Ruby版本?,我们在StackOverflow上找到一个

html - 如何使用 Watir 获取元素自定义属性的值

我的HTML看起来像这样:我想使用Watir获取custom_attribute的值. 最佳答案 browser.text_field(:index,1).attribute_value("custom_attribute")#=>"socool"来源:http://www.mail-archive.com/wtr-general%40rubyforge.org/msg06769.htmlhttp://rdoc.info/gems/watir/1.6.6/Watir/Element#attribute_value-instance_

linux - 我可以在没有监视器的情况下使用 Watir 从 Linux 服务器上的网站抓取数据吗?

我可以使用Watir从网站(使用AJAX)抓取数据但在没有监视器的linux服务器上吗?(linode.com)? 最佳答案 有几种方法可以做到这一点:使用HtmlUnit,Celerity或watir-webdriver(通过remoteSelenium2/WebDriverserver)。使用真实浏览器+虚拟X服务器(Xvfb)。我建议使用watir-webdriver的Firefox驱动程序和Headlessgem提供了一种从Ruby控制它的简单方法。这基本上是速度和现实主义之间的权衡。如果网站有任何复杂的JavaScript

ruby - 如何在 watir 中定位特定图像?

[1]pry(main)>require'watir-webdriver'=>true[2]pry(main)>browser=Watir::Browser.new=>#[3]pry(main)>browser.goto'm.racingnetwork.com.au'=>"http://m.racingnetwork.com.au/"[4]pry(main)>browser.frames.size=>0[5]pry(main)>browser.imgs.size=>12[6]pry(main)>x=browser.imgs[0].src=>"http://m.racingnetwork

ruby - 使用 Watir 匹配和排除多个类

我希望能够在排除某些类的同时匹配一个类。我可以使用类似下面的方法来获取与指定类匹配的所有li元素,但我不确定如何同时筛选出类。b=Watir::Browser.newfree_boxes=b.lis(:class,/cellGridGameStandard/)我想将其更改为匹配cellGridGameStandard类的所有li元素,但排除所有同时包含notEligible类或ownAlready类。 最佳答案 这里有几个选项。让我们假设html是这样的:Element1Element2Element3Element4第一个和第四个