MozRepl::RemoteObjectのTypErrorは仕様?

xpath->で得た@を、$_->{innerHTML}すると、しばしばTypeErrorでコケる。

 

WWW::Mechaize::Firefoxをnewする際に、bufsizeを、=>10_000_000とか増やしたり、autodieを=>0にしてもダメ。

@の中身を、分割して小さく処理させてもダメ。

Stack Overflowで、getとis_visibleをeval{}でトラップしてる例を参考に、evalを使ってxpath->と$_->{innerHTML}を評価し、プログラム停止をトラップをさせて、ループの先頭に戻してやったら、ウマくいった。

 

なるほど。

TypeError: can't access dead ojbectとか出るので、致命的で不可逆なエラーかと思ったが、やり直しが利く(周知な?)内部エラーの模様。

作者のchangelog、ToDoにも、「!」となっているので、今後もなおる可能性が低い事もあり、これで対応する事にする。