PhantomjsDriver操作表单元素
@傅小黑 你好,想跟你请教个问题:在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);
控制台提示图片中的错误,请问这个问题有什么解决方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
可能出于安全考虑,这个是不允许的。半自动吧,先人工登录再爬取
最近我也在做这个,同样出现了问题,不知道是否解决了?
那我就不知道咯。。可能你先查出这个元素来看看他相关信息,再来看可不可以操作
引用来自“页永仲”的评论
你是想操作微博吗?试试先点击这个元素再赋值
引用来自“傅小黑”的评论
他字面意思是说这个 元素还不可操作
可能是有异步加载的吧,需要等加载出来才能操作
应该不是这个问题,我实现的功能是登陆新浪微博,使用firefox可以正常运行,但切换到PhantomjsDriver就报这个错误了。而且代码中也加入了充足的等待时间以确认待操作元素成功加载
你是想操作微博吗?试试先点击这个元素再赋值
他字面意思是说这个 元素还不可操作
可能是有异步加载的吧,需要等加载出来才能操作