抓取重复 <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.
我正在从 <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.