1

最新の Firefox ESR (現在 24.6.0) で正常にインストールされる FireFox アドオンがありますが、最新の Tor Browser Bundle にインストールしようとするとこのエラーが返されます。

TorBrowser 24.6.0 と互換性がないため、テスト WebDriver をインストールできませんでした。

Tor ブラウザのバージョン

Tor Browser は互換性がないと言っているのに、Firefox 24.6.0 は互換性があるのはなぜですか? また、.x​​pi を機能させるにはどうすれば変更できますか?

これが私のものinstall.rdfです:

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">

    <Description about="urn:mozilla:install-manifest">
        <em:id>test@example.com</em:id>
        <em:version>2.42.0</em:version>
        <em:name>My Test WebDriver</em:name>
        <em:description>WebDriver implementation for Firefox</em:description>
        <em:creator>Simon Stewart</em:creator>
        <em:unpack>true</em:unpack>

        <!-- Firefox -->
        <em:targetApplication>
            <Description>
                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                <em:minVersion>17.0</em:minVersion>
                <em:maxVersion>10000.0</em:maxVersion>
            </Description>
        </em:targetApplication>

        <!-- Platforms where we're not compiling the native events -->
        <em:targetPlatform>Darwin</em:targetPlatform>
        <em:targetPlatform>SunOS</em:targetPlatform>
        <em:targetPlatform>FreeBSD</em:targetPlatform>

        <!-- Platforms where we are -->
        <em:targetPlatform>WINNT_x86-msvc</em:targetPlatform>
        <em:targetPlatform>Linux</em:targetPlatform>
    </Description>

</RDF>

手動の.xpiを使用して、Selenium WebDriver をTor Browser Bundleと連携させようとしています。

4

1 に答える 1

2

ここでの問題は、実際にはあなたのtargetPlatforms. TorBrowser は、決定論的なビルドを実行できるようにするために、別の方法でコンパイルされます。特に、Tor ブラウザは一部の mingw-gcc によってコンパイルされますが、公式の Firefox は MSVC コンパイラによってコンパイルされます。

次のことを覚えておいてくださいtargetPlatform

アドオンがサポートするプラットフォームを指定する文字列。これには、OS_TARGET の値のみ、またはアンダースコア (_) で区切られた TARGET_XPCOM_ABI と組み合わせた値が含まれます。

TorBrowser では、OS_TARGETまだです。したがって、ofは期待される と一致しません。WINNTXPCOMABIx86-gcc3targetPlatformWINNT_x86-msvcWINNT_x86-gcc3

ところで:たとえば、タブで Web コンソールを開いて実行することにより、実行中のブラウザー インスタンスから取得OS_TARGETおよび取得できます。 </p> XPCOMABIabout:newtab

Services.appinfo.OS
// and
Services.appinfo.XPCOMABI

WINNT_x86-gcc3したがって、ビジネスの最初の注文は、あなたtargetPlatformの sに追加しようとすることです。

どうやらバイナリ コンポーネントがあるため、これは機能する場合と機能しない場合があります... MSVC でコンパイルされた「接着剤」が gcc でコンパイルされたものと互換性があるかどうかわからないため、バイナリ コンポーネントはまだロードに失敗する可能性があります。次に、適切なコンパイラを使用して別のターゲット用にコンポーネントを再コンパイルする必要がある場合があります (mingw-gcc 何か。これについては TOR 決定論的ビルド ドキュメントを参照してください)。可能であれば、ctypes と通常の C API/ABI ライブラリ。

于 2014-06-13T13:35:45.073 に答える