java phantomjs alert_Selenium所需功能-设置PhantomJS驱动程序的handlesAlerts

我正在尝试使用webdriver尝试phantomJS,但在处理JavaScript警报时遇到了麻烦。我注意到phantomjs驱动程序desired_capabilities有一个字段。'handlesAlerts':

False 有没有办法将此值设置为true?我已经尝试了明显的方法,但是没有任何效果:

drv = webdriver.PhantomJS(desired_capabilities={'handlesAlerts': True})

print drv.desired_capabilities

{u'browserName': u'phantomjs',

u'driverName': u'ghostdriver',

u'driverVersion': u'1.0.3',

u'handlesAlerts': False,

u'javascriptEnabled': True,...}

我可以更改字典中的值drv.desired_capabilities['handlesAlerts'] =

True,但是当我尝试切换到警报时,会收到错误消息。

$cat index.html

alert('FOO!');

Hello World.

>>> from selenium import webdriver

>>> driver = webdriver.PhantomJS()

>>> driver.desired_capabilities['handlesAlerts'] = True

>>> driver.get('index.html')

>>> alert = driver.switch_to_alert()

>>> alert.text

Traceback (most recent call last):

selenium.common.exceptions.WebDriverException: Message:

'Invalid Command Method - Request =>

{"headers":{"Accept":"application/json",

"Accept- Encoding":"identity",

"Connection":"close",

"Content-Type":"application/json;charset=UTF- 8",

"Host":"127.0.0.1:56009",

"User-Agent":"Python- urllib/2.7"},

"httpVersion":"1.1",

"method":"GET",

"url":"/alert_text",

"urlParsed": {"anchor":"",

"query":"",

"file":"alert_text",

"directory":"/",

"path":"/alert_text",

"relative":"/ alert_text",

"port":"",

"host":"",

"password":"",

"user":"",

"userInfo":"",

"authority":"",

"protocol ":"",

"source":"/alert_text",

"queryKey":{},

"chunks":["alert_text"]},

"urlOriginal":"/session/cd31ed90-a5f8-11e2-856d-5783db9f5342/alert_text"}'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值