1
linhua 2019-02-20 09:30:58 +08:00 1
|
2
coolloves OP @linhua 我打印了 page_resource,元素能定位到,但是关键数值 myprice 没有渲染出来
<div class="mypricetitle">我的报价(<label class="CurrencyUnit">元</label>)</div> <div class="myprice"></div> |
3
butterfly1211 2019-02-20 09:46:00 +08:00
是不是浏览器加载了一些插件,在插件中显示的,.net 最喜欢搞这种东西
|
4
cece0417 2019-02-20 09:47:38 +08:00
最后实在点不到了,可以试试用 js 点
|
5
coolloves OP @butterfly1211 我感觉是因为 selenium 的缘故,我直接调用 chrome,全程可以看到,都是顺利获取完成的
应该是 selenium 无法支持获取 websocket 数据的缘故吧,不知道 pyppeteer 是否可以? https://groups.google.com/forum/#!topic/selenium-users/oQfUlZPB0Ck @cece0417 元素可以定位,只是数据不交互 |
6
linhua 2019-02-20 10:06:43 +08:00
使用 selenium 操作 chrome 时,chrome 中出现数据了吗?
代码中 等待元素加载完成了吗? https://blog.csdn.net/leorx01/article/details/71086875 |
7
Hieast 2019-02-20 10:11:24 +08:00 via Android
一种可能是缺少 js 加载的时间,
验证方式是用 selenium 调 chrome 窗口模式直观看到页面的变化,看看有没有数据 |
8
chenyu0x00 2019-02-20 10:22:36 +08:00 via Android
应该是异步数据加载的关系吧,你可以试试打开关键页面之后,等待几秒钟再获取 page_resource
|
9
coolloves OP |
10
linhua 2019-02-20 10:54:20 +08:00
|
12
theks 2019-02-20 13:29:49 +08:00 via Android
你在 5 楼的想法有道理。现在有两种可能,要么是异步加载的问题,要么是 websocket 的问题。
|
13
Raisu 2019-02-20 13:32:39 +08:00 via Android
同楼上
|
14
coolloves OP 我把最终的页面截了个图看了下,少一些关键的数值,这些数值,都是通过 websocket 交互的,查了资料,也没结果.
我最终其实并不是为了获取数值,我是要自动化一套完整的流程,避免人工,这个实在不知道咋搞了,最后一步卡主了... |
15
LeeSeoung 2019-02-20 15:29:32 +08:00
建议跟踪下 ws 交互后的数据如何填充到页面上的。
|
16
CodeCore 2019-02-20 17:52:22 +08:00
1. iframe
2. 延时一会等加载完毕 3. while 一直等加载完成 4. 我遇到的是 SS 全局代理了, 导致无法访问......我调试了一个多小时才发现....菜的无法直视 |
17
Hieast 2019-02-20 18:02:32 +08:00
@coolloves 另外一个思路,你这个数据是需要通过交互来获取的,你能确定你模拟点击报价那个元素生效了么。
不同的窗口页面元素有不同的排列,可能有元素挡在点击报价前面导致点击无效。 |
18
Hieast 2019-02-20 18:09:14 +08:00
|
19
911speedstar 2019-02-20 19:29:27 +08:00
1.sleep 一下
2.找到生成 muprise 的 js,js2py 执行 |
20
coolloves OP 非常感谢各位,是最开始我发现是 iframe,我就直接访问的 iframe 的 url,结果导致了,数据是原页面获取的,往 iframe 里面套.
后来我有仔细学习了下用了 switch_to.iframe 切过去,最终搞定了,多谢以上各位朋友. |