如何使用Selenium使用/附加现有浏览器?

ram*_*ram 11 browser-automation selenium-webdriver

什么是Selenium相当于在Watir中附加现有的浏览器?

brw = Watir::IE.attach(:title, "Google")
Run Code Online (Sandbox Code Playgroud)

Man*_*ahu 9

这是一个重复的答案**重新连接到python selenium中的驱动程序**这适用于所有驱动程序.1.开一个司机

driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)

2.从驱动程序对象中提取到session_id和_url.

url = driver.command_executor._url       #"http://127.0.0.1:60622/hub"
session_id = driver.session_id            #'4e167f26-dc1d-4f51-a207-f761eaf73c31'
Run Code Online (Sandbox Code Playgroud)

3.使用这两个参数连接到您的驱动程序.

driver = webdriver.Remote(command_executor=url,desired_capabilities={})
driver.session_id = session_id
Run Code Online (Sandbox Code Playgroud)

并且您再次与您的司机联系.

driver.get("http://www.mrsmart.in")
Run Code Online (Sandbox Code Playgroud)

  • 如果我没看错,实际上启动的新浏览器(创建了新会话)是没有用的。我们将使用现有的旧会话来执行任务。 (2认同)
  • 得到错误"urllib2.URLError:<urlopen错误[Errno 10061]无法建立连接,因为目标计算机主动拒绝它>"当我尝试重新连接chromedriver时,有没有办法解决这个问题?谢谢! (2认同)

bpk*_*bpk 5

  1. 首先运行Webdriver

    driver =新的FirefoxDriver();

  2. 现在运行一个RemoteWebdriver

    DesiredCapabilities功能= DesiredCapabilities.firefox();
    驱动程序=新的RemoteWebDriver(新的URL(“ http:// localhost:7055 / hub ”),功能);

RemoteWebdriver将附加到运行Webdriver的第一个浏览器窗口,并且不会创建新窗口。


注意:在单独的程序中一对一运行Webdriver(1)和RemoteWebdriver(2)。