@傅小黑 你好,想跟你请教个问题:在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);
控制台提示图片中的错误,请问这个问题有什么解决方法?
他字面意思是说这个 元素还不可操作
可能是有异步加载的吧,需要等加载出来才能操作 ######你是想操作微博吗?试试先点击这个元素再赋值######应该不是这个问题,我实现的功能是登陆新浪微博,使用firefox可以正常运行,但切换到PhantomjsDriver就报这个错误了。而且代码中也加入了充足的等待时间以确认待操作元素成功加载
######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。