这是python tbselenium的有效Firefox二进制路径?

时间:2019-05-09 04:05:08

标签: python selenium tor

实际上,我在C:/tor/中有提取的文件,而另一个文件夹在Desktop中。我正在尝试以下代码

import tbselenium.common as cm
from tbselenium.tbdriver import TorBrowserDriver
from tbselenium.utils import launch_tbb_tor_with_stem
tbb_dir = 'C:/Users/myName/Desktop/Tor Browser/'
tor_process = launch_tbb_tor_with_stem(tbb_path=tbb_dir)
with TorBrowserDriver(tbb_dir) as driver:
    driver.load_url("https://check.torproject.org")

tor_process.kill()

但是我得到tbselenium.exceptions.StemLaunchError: Invalid Tor binary并不是我必须指定的路径,我尝试了以下路径

C:/Users/myName/Desktop/Tor Browser/Browser/
C:/Users/myName/Desktop/Tor Browser/Browser/firefox.exe
C:/tor/Browser/firefox.exe
C:/tor/Browser/
C:/tor

对于上述所有路径,我遇到相同的错误。我不知道如何为tbselenium指定路径

3 个答案:

答案 0 :(得分:1)

我希望这个答案能对您有所帮助。

from selenium import webdriver

from itertools import cycle

from seleniumwire import webdriver

profile = webdriver.FirefoxProfile() 

socks=["178.62.193.19","176.9.75.42","120.132.52.180"]

ports=[8080,3128,8888]

socks_ports={}

socks_ports=dict(zip(socks,ports))

socks_pool=cycle(socks_ports.keys())

ports_pool=cycle(socks_ports.values())

def ChangeProxy(ProxyHost,ProxyPort):

    options = {

    'proxy': {

        'http': 'http://username:password@'+str(ProxyHost)+':'+str(ProxyPort),

        'https': 'https://username:password@'+str(ProxyHost)+':'+str(ProxyPort),

        'no_proxy': 'localhost,127.0.0.1,dev_server:8080'

        }

    }

    return webdriver.Firefox(seleniumwire_options=options)

while True:

    socks_item=next(socks_pool)

    ports_item=next(ports_pool)

    print(type(socks_item))

    print(type(ports_item))


    try:
        driver=ChangeProxy(socks_item,ports_item)

        driver.get("https://www.ipchicken.com/")
    except:
        continue

P.S。
我已经尝试了很多次了。您应该尝试查找主机和端口并添加到上面的阵列中。

答案 1 :(得分:0)

我认为更好的解决方案是手动代理您的Selenium驱动程序并使用Firefox。我对tbselenium软件包有很多疑问,所以我开始认为它不起作用。

如果您正在运行一个Tor实例(而不是浏览器)并且已成功为硒配置geckodriver,这应该可以解决问题。

from selenium import webdriver

profile = webdriver.FirefoxProfile() 

profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.socks", "127.0.0.1")
profile.set_preference("network.proxy.socks_port", 9050)
profile.set_preference("network.proxy.socks_version", 5)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)

driver.get("http://whatismyip.com")

此外,如果您需要在Windows上启动Tor实例(不是浏览器)的帮助,请告诉我。

答案 2 :(得分:-1)

嘿,我很确定我找到了答案here

不支持 Windows!