PhantomjsDriver操作表单元素

发布于 2021-12-03 08:41:14 字数 986 浏览 953 评论 8

@傅小黑 你好,想跟你请教个问题:在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

混吃等死 2021-12-06 18:20:30

可能出于安全考虑,这个是不允许的。半自动吧,先人工登录再爬取

葬花如无物 2021-12-06 18:20:28

最近我也在做这个,同样出现了问题,不知道是否解决了?

平定天下 2021-12-06 18:20:27

那我就不知道咯。。可能你先查出这个元素来看看他相关信息,再来看可不可以操作

居里长安 2021-12-06 18:20:14

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

你是想操作微博吗?试试先点击这个元素再赋值

成熟稳重的好男人 2021-12-06 18:19:20

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

他字面意思是说这个 元素还不可操作

可能是有异步加载的吧,需要等加载出来才能操作

奢望 2021-12-06 01:53:38

应该不是这个问题,我实现的功能是登陆新浪微博,使用firefox可以正常运行,但切换到PhantomjsDriver就报这个错误了。而且代码中也加入了充足的等待时间以确认待操作元素成功加载

策马西风 2021-12-05 03:46:07

你是想操作微博吗?试试先点击这个元素再赋值

夜无邪 2021-12-05 00:46:46

他字面意思是说这个 元素还不可操作

可能是有异步加载的吧,需要等加载出来才能操作

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文