1

최신 파이어 폭스 ESR (현재 24.6.0)을 성공적으로 설치하는 FireFox 애드온을 가지고 있지만 최신 Tor 브라우저 번들에 설치하려고 시도 할 때이 오류를 반환합니다.TorBrowser의 애드온 호환성

MyBrowser가 TorBrowser 24.6.0과 호환되지 않기 때문에 WebDriver를 설치할 수 없습니다.

Tor Browser Version

왜 토르 브라우저는이 호환되지 않습니다라고 않지만, 파이어 폭스 24.6.0합니까? 그리고 .xpi가 어떻게 작동하도록 수정 될 수 있습니까?

여기 내 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>[email protected]</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> 

내가 셀레늄 WebDriver 수동 .xpi를 사용하여 Tor Browser Bundle와 함께 작동하도록 시도하고있다.

답변

2

여기의 문제는 실제로 귀하의 targetPlatforms입니다. TorBrowser는 결정 론적 빌드를 수행 할 수 있도록 다르게 컴파일됩니다. 특히 Tor 브라우저는 일부 mingw-gcc에 의해 컴파일되지만 공식 Firefox는 MSVC 컴파일러에 의해 컴파일됩니다.

문자열이 그 부가 기능을 지원하는 플랫폼을 지정 :

targetPlatform는 것을 기억하십시오. OS_TARGET의 값을 단독으로 또는 TARGET_XPCOM_ABI와 결합하여 밑줄 (_)로 구분합니다. TorBrowser에서

, OS_TARGET은 여전히 ​​ WINNT이지만, XPCOMABI는 Apparantly 히 x86-gcc3입니다. 따라서 targetPlatformWINNT_x86-msvc 일 때 예상과 일치하지 않습니다. WINNT_x86-gcc3.

현재 : 실행중인 브라우저 인스턴스에서 OS_TARGETXPCOMABI을 얻을 수 있습니다. about:newtab 탭에서 웹 콘솔을 열고 실행하여 :

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

그래서 사업의 첫 번째 순서는 targetPlatform들에 WINNT_x86-gcc3을 추가하려고 할 것입니다.

분명히 바이너리 구성 요소를 가지고 있기 때문에 작동하지 않을 수도 있습니다 ... MSVC에서 컴파일 된 "glue"가 gcc 컴파일 된 것과 호환되면 바이너리 구성 요소가 여전히로드되지 않을 수 있습니다. 그런 다음 적절한 컴파일러 (mingw-gcc 무언가, 이것에 대한 TOR 결정적 빌드 문서 참조)를 사용하여 다른 대상에 대한 구성 요소를 다시 컴파일해야 할 수도 있습니다. 그리고 이것은 장기적으로 더 좋을 수도 있습니다. js로 전환하십시오. -ctype 및 가능한 경우 일반 C API/ABI 라이브러리.

+0

설치가 완료되었습니다. 나는'WINNT_x86-gcc3'를 타겟 플랫폼으로 추가하고'/ platforms/WINNT_x86-msvc' 아래에 폴더를 복제했습니다. 폴더의'.dll '이 여전히 의도 한대로 작동하는지 테스트 할 수 없었습니다. – arserbin3