selenium python 使用 TOR 运行 firefox (windows)

selenium python runing firefox with TOR (windows)

我正在尝试 运行 python selenium(firefox 驱动程序)与 tor。 我检查了这个 link (Using Selenium WebDriver with Tor) 但这是 java 实现。 我对硒比较陌生,在将 java 代码翻译成 Python API.

时遇到问题

有人遇到过这个问题吗?

这是在 Python 2.7 中对我有用的代码(我最后一次更新是在 2015 年 3 月 12 日)。作为额外的奖励,它会填写 agora 上的用户名和密码字段,并要求您填写您看到的验证码,然后单击提交按钮。您需要创建一个默认 firefox profile 并将其代理设置为 tor (127.0.0.1:9050) 并将该配置文件名称的路径填充到 startbrowser 函数分析器变量中:

from selenium import webdriver 
from selenium.webdriver.support.ui import Select, WebDriverWait
from selenium.common.exceptions import NoSuchFrameException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

username = 'agora username'
password = 'agora password'
def go_to_page(br):
    #page_num = page_num - 1
    #start_results = page_num * 100
    #start_results = str(start_results)
    url = 'http://agorahooawayyfoe.onion'
    print '[*] loading url: '+url
    br.get(url)
    #br.get_screenshot_as_file('agora.tiff')
    usernamed = br.find_element_by_name("username")
    usernamed.send_keys(username) # password
    passwordd = br.find_element_by_name("password") # enterCaptcha
    passwordd.send_keys(password)
    captchad = br.find_element_by_name("enterCaptcha")
    capt = raw_input('enter captcha you see on screen: ')
    captchad.send_keys(capt)
    br.implicitly_wait(3)
    br.find_element_by_name("submit").click()

def start_browser():
    profiler = webdriver.FirefoxProfile('/Users/your username/Library/Application Support/Firefox/Profiles/vxh0qxtt.tor')
    br = webdriver.Firefox(firefox_profile=profiler)
    br.implicitly_wait(10)
    return br

def main():
    br = start_browser()
    go_to_page(br)

main()