私はFacebook用に非常に人気のあるUserJSを作成しましたが、FF 3.6.13バージョンから(そのバージョンでは)動作しません。そのような要素をクリックする方法がわかりません:
<input value="Accept" type="submit" name="something... asdf" />
? このようなボタンをマウスでクリックすると、別のページにリダイレクトされます。
私のスクリプトが行うことは、Xpath でそのような要素を検索し、単純にそれらをクリックすることですacceptbutton.click();
Opera、Chrome、および FF <3.6.13 ではうまく機能しますが、最新バージョンでは何も起こりません。ここでstackoverflowで見つけたfireEvent関数とeventFire関数の両方も試してみましたが、これはよく役立ちますが、今回はできません。
おそらくJQueryのclick()
機能を使用すると役立つでしょうが、userjsでjqueryを使用できません。
私も試しacceptbutton.form.submit();
ましたが、間違ったページにリダイレクトされます。
編集 :
OK、コードフラグメントを追加しています
var acceptbuttons = xpath(document,'//label[@class="uiButton uiButtonConfirm"]/input');
for (var i = 0; i < acceptbuttons.snapshotLength; i++) {
//will search for particular accept button
var acceptbutton = acceptbuttons.snapshotItem(i);
var acceptbuttonName = acceptbutton.getAttribute("name");
if(acceptbuttonName.indexOf(urlPart)!=-1)
{
// it founds button but function below do nothing in FF
acceptbutton.click();return;
}
}
助けてくれてありがとう!