ноутбук Python Jupyter в док-контейнере подключения к селену / Standalone-Chrome

Возможно, вы захотите изучить эту функцию C #, чтобы избежать строки:

http://www.aspcode.net/C-encode-a-string-for-JSON-JavaScript .aspx

public static string Enquote(string s)  
{ 
    if (s == null || s.Length == 0)  
    { 
        return "\"\""; 
    } 
    char         c; 
    int          i; 
    int          len = s.Length; 
    StringBuilder sb = new StringBuilder(len + 4); 
    string       t; 

    sb.Append('"'); 
    for (i = 0; i < len; i += 1)  
    { 
        c = s[i]; 
        if ((c == '\\') || (c == '"') || (c == '>')) 
        { 
            sb.Append('\\'); 
            sb.Append(c); 
        } 
        else if (c == '\b') 
            sb.Append("\\b"); 
        else if (c == '\t') 
            sb.Append("\\t"); 
        else if (c == '\n') 
            sb.Append("\\n"); 
        else if (c == '\f') 
            sb.Append("\\f"); 
        else if (c == '\r') 
            sb.Append("\\r"); 
        else 
        { 
            if (c < ' ')  
            { 
                //t = "000" + Integer.toHexString(c); 
                string t = new string(c,1); 
                t = "000" + int.Parse(tmp,System.Globalization.NumberStyles.HexNumber); 
                sb.Append("\\u" + t.Substring(t.Length - 4)); 
            }  
            else  
            { 
                sb.Append(c); 
            } 
        } 
    } 
    sb.Append('"'); 
    return sb.ToString(); 
} 

1
задан Alexander 16 January 2019 в 14:13
поделиться

1 ответ

Подключите ваш контейнер selenium к той же сети backend и используйте selenium-hub:4444 в качестве имени хоста вместо localhost:4444.

Кстати, зачем ты объявляешь сеть? Он создается по умолчанию docker-compose.

Кроме того, нет необходимости явно объявлять container_name - контейнеры получают имя своей службы по умолчанию.

Я предлагаю следующие изменения:

docker-compose.yml

version: '3'
services:
  selenium-hub:
    image: selenium/hub:3.141.59-dubnium
    ports:
    - "4444:4444"
  chrome:
    image: selenium/node-chrome:3.141.59-dubnium
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
  nbdatascience: 
    image: aabor/nbdatascience
    build: nbdatascience/.
    volumes:
      - /home/$USER/py:/home/jovyan/work/py
      - /home/$USER/.jupyter:/home/jovyan/.jupyter
    ports:
      - "10000:8888"
    environment:
      - TZ="Europe/Kiev"
    restart: always
    depends_on:
      - chrome

Также, если вы не подключаетесь к контейнерам извне, удалите порты, выставляющие доступ. [ 1112]

0
ответ дан grapes 16 January 2019 в 14:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: