我正在编写爬虫来抓取图片,需要以编程方式点击菜单转到下一页。每当页面加载完成时,这是我的代码:
public slots:
void nextPage()
{
mainFrame()->evaluateJavaScript("readweb.nextPage()");
}
点击后,mainFrame应该将新网址加载到下一个网页(其中包含我要抓取的图片)。但我发现它仅适用于第一次时间。第一次单击后,第二次单击没有导致新的URL加载。网页的js脚本已经加载,只加载一次。
为什么它不起作用?任何人都有类似的情况吗?
答案 0 :(得分:1)
我有类似的东西,但它不仅可以工作一次,它只能在每次呼叫时工作。
我现在的解决方法是假电话,如:webframe.evaluateJavaScript('return true;')
强制失败(在函数外返回),下一次调用将按预期工作。
我不知道这次失败的呼叫是否会重置发动机或真正发生的事情。
答案 1 :(得分:1)
不知道是否重要,但是你在陈述结束时遗漏了一个分号?