开发者社区> 问答> 正文

PhantomjsDriver操作表单元素 400 请求报错 

@傅小黑 你好,想跟你请教个问题:在Java中,用phantomjsdriver请求页面,加载页面后,调用element.sendKeys方法为input元素赋值,主要代码如下:

DesiredCapabilities caps = DesiredCapabilities.phantomjs(); caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,new String[] {"--load-images=false"}); caps.setCapability("phantomjs.page.settings.userAgent","Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"); caps.setCapability("takesScreenshot","false"); WebDriver driver = new PhantomJSDriver(caps); driver.get("http://weibo.com/"); WebElement ele = WebDriverUtils.until(driver,12000,ByType.xpath,"//div[@id='pl_login_form']/div[3]/div[2]/div[1]/div/input"); ele.sendKeys(username);

控制台提示图片中的错误,请问这个问题有什么解决方法?

展开
收起
kun坤 2020-05-29 12:02:13 428 0
1 条回答
写回答
取消 提交回答
  • 他字面意思是说这个 元素还不可操作
    可能是有异步加载的吧,需要等加载出来才能操作 ######你是想操作微博吗?试试先点击这个元素再赋值######应该不是这个问题,我实现的功能是登陆新浪微博,使用firefox可以正常运行,但切换到PhantomjsDriver就报这个错误了。而且代码中也加入了充足的等待时间以确认待操作元素成功加载

    ######

    引用来自“傅小黑”的评论

    他字面意思是说这个 元素还不可操作 可能是有异步加载的吧,需要等加载出来才能操作 应该不是这个问题,我实现的功能是登陆新浪微博,使用firefox可以正常运行,但切换到PhantomjsDriver就报这个错误了。而且代码中也加入了充足的等待时间以确认待操作元素成功加载######

    引用来自“页永仲”的评论

    你是想操作微博吗?试试先点击这个元素再赋值 对的,微博登陆。刚刚试了一下,执行那个元素的点击事件同样会报这个错误。。。######那我就不知道咯。。可能你先查出这个元素来看看他相关信息,再来看可不可以操作######最近我也在做这个,同样出现了问题,不知道是否解决了? ######可能出于安全考虑,这个是不允许的。半自动吧,先人工登录再爬取
    2020-05-29 12:02:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载