作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 Mechanize/Ruby 的问题。
当我选择第一个选项时,我无法获得第二个选择列表选项。如果我从 Google 中理解正确的话,那里有一些 Ajax 魔法。
目前我有这样的事情:
require 'rubygems'
require 'mechanize'
require 'nokogiri'
HOME_URL = 'http://www.parkers.co.uk/'
agent = Mechanize.new
page = agent.get(HOME_URL)
form = page.forms.first
form.field_with(:name => 'ctl00$contentHolder$topFullWidthContent$ctlManufacturerModelDropdownsNew$ddlManufacturer_Control').options.select.each do |manufacturer|
p manufacturer.text.strip
form.field_with(:name => 'ctl00$contentHolder$topFullWidthContent$ctlManufacturerModelDropdownsUsed$ddlModel_Control').options.each do |model|
p model.text.strip
end
end
"Select a manufacturer"
"Select a model"
"Abarth"
"Select a model"
"Alfa Romeo"
"Select a model"
"Aston Martin"
"Select a model"
"Audi"
select
,
tick
,
selected
,
click
,
present?
等等,但它没有多大帮助。
最佳答案
Mechanize 不支持 JavaScript,并且因为模型选择框是通过 JavaScript 填充的,所以使用选择框是行不通的。然而,http://www.parkers.co.uk/
如果您禁用 JavaScript,则工作正常(尽管有所不同)。
在使用该网站时禁用浏览器中的 JavaScript,您会注意到您获得了制造商链接列表:
单击制造商链接之一后,您将进入一个新页面,其中填充了模型选择。
关于ruby - 如何从第二个选择列表中获取选项值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922693/
我是一名优秀的程序员,十分优秀!