【发布时间】:2020-11-15 06:07:20
【问题描述】:
我在 python 中使用 selenium 来抓取一个用 angular js 设计的网页,因此没有可靠的标识符来识别 id 等元素。我完全依赖 CSS 选择器(它们是动态的)和 xpaths。
我有以下代码-
<div class="dpm-form-row ng-star-inserted">
<dpm-input-number class="flex-6">
<dpm-input-label>
<label>Fixed Rate</label>
</dpm-input-label>
<dpm-input-number-bare>
<input size="1" type="text" placeholder="" class="ng-pristine ng-valid ng-touched">
</dpm-input-number-bare>
</dpm-input-number>
<div class="flex-6">
</div>
</div>
它基本上是一个名为“Fixed Rate”的标签,后跟一个输入文本框。它是我想要抓住的那个盒子。
我已设法使用以下代码获取标签,但在使用父/兄弟逻辑获取框时遇到问题 -
element = driver.find_element_by_xpath('//*[contains(text(),"Fixed Rate")]')
【问题讨论】:
-
您可以通过检查元素来复制输入元素的xpath。
-
浏览器不将 jsx 或任何 Angular 用于 html 吗?
标签: python css selenium xpath web-scraping