无法定位元素问题:使用phantomjs来进行模拟人的计算机行为的时候可能的报错(么牢牢啊)以及自己的问题解决

**
无法定位元素问题

please use headless,Unable to find element with xpath,Unable to find element with frame…使用phantomjs来进行模拟人的计算机行为的时候的报错(么牢牢啊)以及自己的问题解决

**

**

前言:

**

	please use headless是pychram针对phantom的,
selenium已经放弃PhantomJS,建议使用火狐或者谷歌无界面浏览器。
	报错是还偶尔看到了“phantom已死”,一时不知如何是好。。。
#针对	please use headless的方法
#降低selenium的版本
#卸载selenium,重新安装pip install selenium==2.48.0

#或者使用别的浏览器,谷歌乱七八糟的报错很多
	先是使用了phantomjs,并且使用了pychram来编写,
	起初以为是pychram不支持版本之类的,就使用了ide测试,
	因为之前试过是ok的但是仍然不行,查了好多资料,
	不得解,以下是一些报错和可能的解决方法(我不是这些个问题,所以都没有解决)

1、这个应该是xpath没写对

在这里插入图片描述
在这里插入图片描述

2、这个则是可能是本质的后面的原因,也可能是需要time.sleep来等待几秒以加载元素
在这里插入图片描述
在这里插入图片描述
3、这个问题的话,一般不会遇到,差不多都是可以编辑的
在这里插入图片描述
4、这个是附带的,因为我想要截图看以下情况,上面直接报错(也就是后面的原因),也就停止了
在这里插入图片描述
5、有一个frame定位不到问题,然而也不是很懂,这个frame是另外的一个页面,里面会包含所有的元素,但是有一定缺失及局限性,我这的情况是:
确实要的元素里面也有,但是原html树状块中所要的元素是在frame代码快之上的,并且比frame里的功能齐全,主要需要的属性也只在上面,就。。离谱
在这里插入图片描述
原页面我需要找的是一个搜索框,即input
蓝色区域是frame代码块中的,可以看到里面没有input属 性,所以我定位到了frame在这里好像并不适用

以上都是通过phantomjs来查找元素时的报错
然后就是了以下selenium的chorm驱动器创建的浏览器获取,结果获取成功
另外,过程中也有一些问题
比如说通过了send_keys方法已经在搜索框中输入了内容,但是button按钮找不到,也是费了点劲
在这里插入图片描述
可以知道那个放大镜的功能元素点击(按钮)属性找不到
后来干脆直接使用模拟的键盘操作----回车
仍然定位这个搜索框,即可

driver.find_element_by_xpath('//input[@id="srch"]').send_keys(Keys.ENTER)

主要的问题解决方法是直接使用各浏览器的驱动来进行元素的筛选,而不是使用phantomjs进行,最后,ide里调试好了,复制进pychram,程序成功运行。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

略略略气气你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值