抓取ng-repeat <select>元素

时间:2019-06-20 22:11:44

标签: angularjs ruby nokogiri

我正在从<select>元素及其相应选项中抓取大量位置。天真的,我想我会用<option>刮掉所有doc.css('option')元素,然后返回"Select your region{{r.Name}}{{s.Name}}"。我进行了一些研究,发现它是AngularJS循环。

是否有一种方法可以返回开发者控制台中所有位置的某种普通列表(使用AngularJS)?还是有某种方法可以消除我不知道的所有选项?

html的示例:

<option value="" selected="">Select your region</option>
<!-- ngRepeat: r in regions -->
<option ng-repeat="r in regions" value="Auckland" class="ng-binding ng-6cope">Auckland</option>

1 个答案:

答案 0 :(得分:1)

使用Nokogiri无法完成此操作,因为它不呈现JavaScript,但是,如果这些选项是从某种API中提取的,则可以调用它。

尝试调查此页面在浏览器开发工具中的作用,或者将其存储在页面上的script标签中。我认为,最适合您的选择就是只使用Selenium和无头Chrome。