我正在研究抓取机器人,我必须在其中抓取网页并“推断”内容。
我有的:
- Ubntu 上可用的 Webkit/python API 及其完整的 API,包括 DOM 访问和操作
- 我无法控制的网页
- webkit 返回的一个有趣的文本输入字段。
- 浏览器的受控环境 - 窗口大小/硬件是已知的。
我想做的事:
获取在输入框之前最接近且可视的文本。这大致转化为在输入框之前单击并在屏幕上向上移动 3/4 行或大约 1 英寸(如果您要手动操作)。我可以说 1 英寸,因为我控制窗口大小和其他硬件。
问题:
由于 DOM 层次结构和 CSS 将文本定位在视觉上更接近的页面标记可能并不总是更接近。如何模拟文本选择,就像用户手动进行一样?
尝试过的范围,但问题是获得正确的元素,因为范围需要开始/结束元素。此外,由于某种原因,当我以编程方式执行此操作时,我会收到 javascript/comments 其他绒毛,但当我在屏幕上手动执行并检查浏览器的范围时不会发生。