Crossin的编程教室

标题: python selenium 定位元素问题 [打印本页]

作者: xielong0120    时间: 2021-4-14 22:28
标题: python selenium 定位元素问题
老师,请教一下,这个按钮要怎么定位,我尝试了driver.find_element_by_所有方法,都定位不到这个按钮。
Snipaste_2021-04-14_22-26-25.png
https://www.5tps.com/play/10563_46_1_237.html

作者: crossin先生    时间: 2021-4-15 14:22
可以考虑css层级定位
参考:
https://www.cnblogs.com/zuodaozhudemeng/p/7487798.html
作者: xielong0120    时间: 2021-4-15 21:49
还是定位不到。。。。。。。。。
Snipaste_2021-04-15_21-49-27.png
作者: crossin先生    时间: 2021-4-16 23:48
你写的不对, li 的 class 不是 jp-play,a 才是
作者: xielong0120    时间: 2021-4-19 16:23
老师你看倒数第二集,就是写的a.jp-play
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a.jp-play"}
  (Session info: chrome=88.0.4324.150)

作者: crossin先生    时间: 2021-4-19 23:01
观察运行时的浏览器,看看在运行到此处时是否页面已经加载成功
更直接的办法是在定位之前把页面HTML输出或者保存到文件里,看一看里面是不是加载了你需要的内容。
浏览器elements里看到的并不一定等同于你抓到的
作者: xielong0120    时间: 2021-4-21 21:34
网页源代码里面找到了除了播放按钮以外的所有按钮。
Snipaste_2021-04-21_21-34-27.png
作者: xielong0120    时间: 2021-4-21 21:38
只有这里比较像,但是找class=play还是找不到
Snipaste_2021-04-21_21-38-15.png
作者: crossin先生    时间: 2021-4-22 00:15
抓到的代码里没有,那自然没法定位
观察下代码运行时的浏览器里是否成功加载。
如果页面上是有的,那就再找一找对应的相关代码在哪里
作者: xielong0120    时间: 2021-4-25 21:29
找了,我直接在网页右键查看源代码,也是没有。

gif有2.1M,传不上,删了好多帧。

巡查机器人 (6).gif
作者: crossin先生    时间: 2021-4-25 23:32
源代码里没有很正常,很多网页元素是通过js加载的
所以前面说的是查运行时加载完毕之后,通过selenium去获取页面的内容,看里面有没有你要的内容。如果没有,那就不是定位问题。而是要进一步分析页面上是如何加载的,以及为什么在selenium里没有成功加载
作者: xielong0120    时间: 2021-4-28 14:04

看上去跟其他网址没有蛮大的区别啊。
巡查机器人 (7).gif

作者: crossin先生    时间: 2021-4-28 23:03
你要输出代码抓取到的HTML内容。代码抓取到的,和你看浏览器里的,未必是一样的




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5