抓取重复 <select> 元素

scraping ng-repeat <select> elements

我正在从 <select> 元素中抓取一堆位置及其各自的选项。天真,我想我会用 doc.css('option') 这个 returned "Select your region{{r.Name}}{{s.Name}}" 来抓取所有 <option> 元素。我做了一些研究并意识到这是 AngularJS 循环。

有没有办法 return 开发者控制台中所有位置的某种简单列表(使用 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>

Nokogiri 无法做到这一点,因为它不呈现 JavaScript,但是,如果这些选项取自某种 API,您可以调用它。

尝试调查此页面在您的浏览器开发工具中的作用,或者它可能存储在页面上的 script 标记中的某个位置。我认为对您来说最好的选择是只使用 Selenium 和 headless Chrome.