WebDriverException: bilinmeyen hata: DevToolsActivePort dosyası, Chrome Tarayıcıyı başlatmaya çalışırken mevcut değil


155

Bir URL ile krom başlatmaya çalışıyorum, tarayıcı başlatılıyor ve bundan sonra hiçbir şey yapmıyor.

1 dakika sonra aşağıdaki hatayı görüyorum:

Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
  (Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)

Yapılandırmam:

  • Krom: 66
  • ChromeBrowser: 2.39.56

PS , Firefox'ta her şey iyi çalışıyor


1
Soruyu bu hataya neden olan kodla güncelleyebilir misiniz?
GPT14

Yanıtlar:


71

Bu hata mesajı ...

org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist 

... ChromeDriver'ın yeni bir WebBrowser yani Chrome Tarayıcı oturumu başlatamadığını / oluşturamadığını belirtir .

Kod denemeleriniz ve tüm ikili dosyaların sürüm bilgileri bize neyin yanlış gittiğine dair bazı ipuçları verirdi.

Ancak, varsayılan başlatma bayraklarına Add --disable-dev-shm-use başına göre , argümanın eklenmesi --disable-dev-shm-usagesorunu geçici olarak çözecektir.

Yeni bir Chrome Tarayıcı oturumu başlatmak / yaymak istiyorsanız aşağıdaki çözümü kullanabilirsiniz:

System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized"); // open Browser in maximized mode
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--no-sandbox"); // Bypass OS security model
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");

devre dışı-dev-SHM-kullanımı

Base_switches.cc uyarınca disable-dev-shm-usagesadece Linux işletim sisteminde geçerli gibi görünüyor :

#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
// The /dev/shm partition is too small in certain VM environments, causing
// Chrome to fail or crash (see http://crbug.com/715363). Use this flag to
// work-around this issue (a temporary directory will always be used to create
// anonymous shared memory files).
const char kDisableDevShmUsage[] = "disable-dev-shm-usage";
#endif

Tartışmada David / dev / shm yerine / tmp kullanma seçeneğini ekleyin :

Ben / dev / shm ve / tmp nasıl bağlı bağlıdır düşünüyorum. İkisi de tmpfs olarak monte edilmişlerse, hiçbir fark olmayacağını varsayıyorum. herhangi bir nedenle / tmp tmpfs olarak eşlenmezse (ve bence sistemd tarafından varsayılan olarak tmpfs olarak eşlenir), krom paylaşılan bellek yönetimi anonim paylaşılan dosyalar oluştururken dosyaları her zaman belleğe eşler, bu durumda bile çok fark. Sanırım bayrak etkinken telemetri testlerini zorlayabilir ve nasıl gittiğini görebilirsiniz.

Neden varsayılan olarak kullanılmıyorsa, paylaşılan bellek ekibi tarafından geri itildi, sanırım varsayılan olarak paylaşılan bellek için / dev / shm kullanması mantıklı.

Sonuçta tüm bunlar memfd_create kullanmak için hareket ediyor olmalı, ancak bunun Chrome bellek yönetimini önemli ölçüde yeniden düzenlemeyi gerektireceği için yakında olacağını düşünmüyorum.


Outro

İşte Sandbox hikayesinin bağlantısı .


8
Ama bu özel hataya ne sebep oldu DevToolsActivePort file doesn't existve neden aniden ortaya çıkmaya başladı?

3
"Ek Hususlar" öğeleri - bu konuya oldukça uygulanabilir gibi görünüyorlar. Özellikle tam da soruna neden olan bu tür bir durum oluşmamıştı.
Pete Kelley

5
@ DebanjanB'ın gönderisinin silinen kısmından, bunun nedeni yüklü Chrome'un sürümünü desteklemeyen bir Chromedriver kullanılması olabilir. Bu, örneğin, Chromedriver'ı yükseltmeden krom yükseltilirse olabilir.
expz

Bu, sorunu benim için
çözerdi,

3
Bu kimseye yardımcı olursa, sadece eklemek disable-dev-shm-usageyeterli değildi. Ben de --no-sandboxişe almak için eklemek zorunda kaldı . Bu benim için Selenyum-java için tam bir chromeOptions.addArguments("--no-sandbox", "--disable-dev-shm-usage");
çözümdü

52

Bu sorunu Pazartesi 2018-06-04'te görmeye başladım. Testlerimiz hafta içi her gün yapılır. Değişen tek şey, google-chrome sürümü (güncel olarak güncellendi) JVM ve Selenium'un Linux kutusundaki (Java 1.8.0_151, selenyum 3.12.0, google-chrome 67.0.3396.62) ve xvfb işletilen).
Özellikle " --no-sandbox " ve " --disable-dev-shm-usage " bağımsız değişkenlerinin eklenmesi hatayı durdurdu. Etkisi hakkında daha fazla bilgi ve google-chrome'un güncellenmesini neyin tetiklediğiyle ilgili diğer soruları bulmak için bu sorunları inceleyeceğim.

ChromeOptions options = new ChromeOptions();
        ...
        options.addArguments("--no-sandbox");
        options.addArguments("--disable-dev-shm-usage");

Bu kodun her gün bir Ubuntu Linux kutusunda çalıştığını açıklığa kavuşturmak istiyorum, ancak Windows masaüstündeki eşdeğer kod Pazartesi günü bile tamamlandı. DevToolsActivePort dosyasının işlevselliği hakkında hiçbir bilgi bulamadım ve bu da yararlı olacaktır. PK
Pete Kelley

1
Bu seçenekler benim için de hatayı durdurdu. pd: Rails yığını kullanma.
Mario Pérez

Hala [java] [1536892035.965][SEVERE]: Timed out receiving message from renderer: 60.000bununla ilgili hatalar alıyorum
Jonathan

@Jonathan - Merhaba! hangi işletim sistemi, hangi bileşenlerin kullandığınız sürümleri veya işlemi nasıl çağırdığınız gibi daha ayrıntılı bilgi verebilir misiniz?
Pete Kelley

@Toby: Merhaba! Konumun bir fark yarattığını ima etmek istemedim, sadece bu parametrelerin minimal kullanımı. Yükseltmeler gerçekleştiğinde, güvendiğim bazı varsayılan değerlerin değiştiği görülüyordu. Sisteminiz veya sağladığınız mesajla ilgili diğer ayrıntılar yardımcı olabilir.
Pete Kelley

35

Jenkins kölelerimizde (linux makinesi) aynı sorunları yaşıyorduk ve yukarıdaki tüm seçenekleri denedik.

Yardımcı olan tek şey argümanı belirlemek

chrome_options.add_argument('--headless')

Ancak daha fazla araştırdığımızda, XVFB ekranının özellik başlatmadığını ve bu hataya neden olduğunu fark ettim. XVFB ekranını düzelttikten sonra sorunu çözdü.


2
bu C # kullanarak çalışırken benim sorunum çözüldü (bu durumda seçenek şöyle görünüyordu: options.AddArgument ("- headless");
ozz

XVFB benim için sorun oldu
lucaswxp

23

Python'da da aynı sorunu yaşadım. Yukarıdakiler yardımcı oldu. Python'da kullandığım şey -

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('/path/to/your_chrome_driver_dir/chromedriver',chrome_options=chrome_options)

Yükseltme kromuyla ilgili sorunumu çözdüm (zaten en son chromedrive'ım vardı), bu nedenle normal tarayıcıyı da yükseltmek zorunda kaldım.
axel_ande

19

Güncelleme:

Sorunu çözebiliyorum ve şimdi istenen url ile kroma erişebiliyorum.

Sunulan çözümleri denemenin sonuçları:

Yukarıda verilen tüm ayarları denedim ancak sorunu çözemedim

Konuyla ilgili açıklama:

Gözlemime göre, krom referansını scoped_dirXXXXX klasöründe bulamadığında DevToolsActivePort dosyası yok.

Sorunu çözmek için atılan adımlar

  1. Tüm krom süreçlerini ve krom sürücü süreçlerini öldürdüm.
  2. Chrome'u çağırmak için aşağıdaki kodu ekledi

    System.setProperty("webdriver.chrome.driver","pathto\\chromedriver.exe");    
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("useAutomationExtension", false);
    WebDriver driver = new ChromeDriver(options);
    driver.get(url);
    

Yukarıdaki adımları kullanarak sorunu çözmeyi başardım.

Cevaplarınız için teşekkürler.


3
UseAutomationExtension'ın neleri etkilediğini biliyor musunuz? Otomasyon için uzantıları devre dışı bırakır (ekran görüntüleri / kontrol vb.) Hayır? DevTools'un ortaya çıkışı bu değişikliğin hiçbir etkisi olmayacak mı? codereview.chromium.org/2785413002
Toby

12

Son zamanlarda aynı sorunla karşı karşıya kaldım ve bazı deneme ve hatalardan sonra da benim için çalıştı.

ÜSTÜNDE OLMALIDIR:

options.addArguments("--no-sandbox"); //has to be the very first option

BaseSeleniumTests.java

public abstract class BaseSeleniumTests {

    private static final String CHROMEDRIVER_EXE = "chromedriver.exe";
    private static final String IEDRIVER_EXE = "IEDriverServer.exe";
    private static final String FFDRIVER_EXE = "geckodriver.exe";
    protected WebDriver driver;

    @Before
    public void setUp() {
        loadChromeDriver();
    }

    @After
    public void tearDown() {
        if (driver != null) {
            driver.close();
            driver.quit();
        }
    }

    private void loadChromeDriver() {
        ClassLoader classLoader = getClass().getClassLoader();
        String filePath = classLoader.getResource(CHROMEDRIVER_EXE).getFile();
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        ChromeDriverService service = new ChromeDriverService.Builder()
                .usingDriverExecutable(new File(filePath))
                .build();
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--no-sandbox"); // Bypass OS security model, MUST BE THE VERY FIRST OPTION
        options.addArguments("--headless");
        options.setExperimentalOption("useAutomationExtension", false);
        options.addArguments("start-maximized"); // open Browser in maximized mode
        options.addArguments("disable-infobars"); // disabling infobars
        options.addArguments("--disable-extensions"); // disabling extensions
        options.addArguments("--disable-gpu"); // applicable to windows os only
        options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
        options.merge(capabilities);
        this.driver = new ChromeDriver(service, options);
    }

}

GoogleSearchPageTraditionalSeleniumTests.java

@RunWith(SpringRunner.class)
@SpringBootTest
public class GoogleSearchPageTraditionalSeleniumTests extends BaseSeleniumTests {

    @Test
    public void getSearchPage() {
        this.driver.get("https://www.google.com");
        WebElement element = this.driver.findElement(By.name("q"));
        assertNotNull(element);
    }

}

pom.xml

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <scope>test</scope>
        </dependency>
</dependencies>

İlginç ! Bir .side dosyası nasıl oluşturulur? Bu, bir KG personelinin manuel olarak yaptığı bir şey mi?
Nital

Bir testi kaydetmek için Selenyum IDE'sini kullanırsınız. Sonuç bir .side dosyasıdır. IDE kullanarak iyi çalışır, ancak selenyum tarafı koşucusu kullanarak çalıştırmaya çalışıyorum, ancak kromedriver ile ilgili her türlü sorunla karşılaşıyorum.
pabrams

ilk seçenek olmalı - bu haha ​​bulmak için gün harcamak
cuniculus

Teşekkürler! "--No-sandbox" eklemek sorunumu çözer.
matabares

7

Benim durumumda aşağıdaki ortamda:

  • Windows 10
  • piton 3.7.5
  • Google Chrome sürüm 80 ve ilgili ChromeDriver yolu C:\Windows
  • selenyum 3.141.0

Ben argümanları eklemek için gerekli --no-sandboxve --remote-debugging-port=9222karşı ChromeOptionsnesne ve yönetici olarak Powershell / cmd lunching tarafından yönetici kullanıcı olarak kod çalıştırın.

İlgili kod parçası:

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
options.add_argument('--remote-debugging-port=9222')
driver = webdriver.Chrome(options=options)

1
aynı benim için docker ile ubuntu 18.04, py3.7, krom (sürücü) 80
patroqueeet

Bu, başka sorunlar olmadan benim için çalıştı. Bugün bu konuya girmeye başlamıştım, ancak cevabınız nedeniyle hızlı bir şekilde düzeltildi! Benim ortamım aslında seninkiyle aynı.
Ryan Harris

6

Bu sorunu, ilk önce ayrı ayrı indirdikten ve sonra kullandıktan sonra Python Selenium ile Ubuntu 20'de karşılaştım sudo apt install chromium-browser. Aynı sürüm olmasına rağmen bu devam etti.

Benim düzeltme, repo paketinde bulunan sağlanan krom sürücüsünü kullanmak oldu

/snap/bin/chromium.chromedriver

driver = webdriver.Chrome(chrome_options=options, executable_path='/snap/bin/chromium.chromedriver')

4

Bu diğer cevapta belirtildiği gibi :

Bu hata mesajı ... ChromeDriver'ın yeni bir WebBrowser yani Chrome Tarayıcı oturumu başlatamadığını / oluşturamadığını gösterir.

Olası nedenler arasında, ben durumda Xvfb üzerinden bir başsız Chromium çalışan, aslında söz etmek istiyorum, sen olabilir gerek değişken: benim durumumda, ben (önerilir) ve yerinde vardı ve seçenekleri, her şey iyi çalışıyor, ancak en yeni (kurulum sırasında) Ubuntu 18.04 çalıştıran yeni bir kurulumda bu hata oluşmaya başladı ve olası tek düzeltme (daha önce Xvfb ile başlamış ) çalıştırmaktı.exportDISPLAY--disable-dev-shm-usage--no-sandboxexport DISPLAY=":20"Xvfb :20&


OMG Teşekkür ederim. Docker konteynırımızda birkaç değişiklik yapıyordum ve yanlışlıkla xvfb'yi bıraktım. Bunu burada bırakmamış olsaydım bunu asla bulamazdım :-).
Ryan Shillington

3

Ayrıca jenkins sunucusu ile entegre ederken bu sorunla karşı karşıya kaldım, jenkin işi için kök kullanıcıyı kullandım , kullanıcıyı başka bir kullanıcıya değiştirdiğimde sorun düzeltildi . Bu hatanın neden kök kullanıcı için oluştuğundan emin değilim.

  • Google Chrome Sürüm 71.0
  • ChromeDriver Sürüm 2.45
  • CentOS7 Sürüm 1.153

Kök olmayan kullanıcı benim için çalıştı, krom için doğru krom sürücü sürümüne sahiptim.
TicJit

2

Benim durumumda, varsayılan kullanıcı profilimi kullanmaya çalıştığımda oldu:

...
options.addArguments("user-data-dir=D:\\MyHomeDirectory\\Google\\Chrome\\User Data");
...

Bu, kromun zaten arka planda çalışan süreçleri yeniden kullanmasını tetikledi, böylece chromedriver.exe tarafından başlatılan işlem basitçe sona erdi.

Çözüm: arka planda çalışan tüm chrome.exe işlemlerini öldürün.


Benzer bir sorun vardı, ancak linux - benim krom süreçleri komut dosyası çöktükten sonra düzgün çıkıldı ve yanlış yeniden kullanılıyordu. onları öldürmek sorunu çözdü
jeremycg

2

conf.js'deki güncelleme yetenekleri

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['todo-spec.js'],
  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
      args: ['--disable-gpu', '--no-sandbox', '--disable-extensions', '--disable-dev-shm-usage']
    }
  },

};

2

Benim durumumda, Windows tarayıcısında krom tarayıcı ile çalıştırılabilir bir kavanoz oluşturmaya çalışıyordum ve aynısını CentO'larla unix kutusunda başsız modda çalıştırmak istiyorum. İkilimi, paketimle indirip paketlediğim bir sürücüye işaret ediyordum. Benim için, aşağıdakileri eklemeden bağımsız olarak bu sorun devam ediyor:

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--no-sandbox");
System.setProperty("webdriver.chrome.args", "--disable-logging");
System.setProperty("webdriver.chrome.silentOutput", "true");
options.setBinary("/pointing/downloaded/driver/path/in/automationsuite");
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("window-size=1024,768"); // Bypass OS security model
options.addArguments("--log-level=3"); // set log level
options.addArguments("--silent");//
options.setCapability("chrome.verbose", false); //disable logging
driver = new ChromeDriver(options);

Benim için denediğim ve çalıştığım çözüm, krom ve araçlarını ana makine VM / Unix kutusuna indirip, ikiliyi otomasyon paketinde ve tombalada kurup işaret etmektir! İşe yarıyor :)

İndirme komutu:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

Kurulum komutu:

sudo yum install -y ./google-chrome-stable_current_*.rpm

Google-chrome'un aşağıdaki ikili yolunu içeren güncelleme paketi:

options.setBinary("/opt/google/chrome/google-chrome");

Ve çalışıyor!


Bu kodu nereye ekliyoruz? .Side dosyamda C # kodu görmüyorum
pabrams

1

Ben de aynı sorunu vardı, ama benim durumumda daha önce Program dosyalarına yeniden yüklendikten sonra chrome, daha önce kullanıcı temp klasörüne kuruldu. Yani burada sağlanan herhangi bir çözüm bana yardımcı olmadı. Ancak chrome.exe yolunu sağlarsanız tüm çalışır:

chromeOptions.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");

Umarım bu birine yardımcı olur =)


aşağıda shiuu düzeltme tam tersi görünüyor
Toby

1

Benim için hiçbir çözüm işe yaramadı. Ama işte bir çözüm:

maxcounter=5
for counter in range(maxcounter):
    try:           
        driver = webdriver.Chrome(chrome_options=options,
                          service_log_path=logfile,
                          service_args=["--verbose", "--log-path=%s" % logfile])
        break
    except WebDriverException as e:
        print("RETRYING INITIALIZATION OF WEBDRIVER! Error: %s" % str(e))
        time.sleep(10)
        if counter==maxcounter-1:
            raise WebDriverException("Maximum number of selenium-firefox-webdriver-retries exceeded.")

1

Bu hatayı yalnızca Chrome'a ​​hatalı argümanlar iletmek için alabilirsiniz. Örneğin, "headless"bir argüman olarak C # ChromeDriver'a geçersem harika bir şekilde patlar. Bir hata yapar ve yanlış sözdizimini kullanırsam "--headless", DevToolsActivePort file doesn't existhatayı alıyorum.


1

Aynı sorunla karşılaştım, UBUNTU, PYTHON ve OPERA tarayıcı kullanıyorum . benim durumumda ben operadriver eski bir sürümü vardı çünkü sorun kaynaklandı.

Çözüm: 1. En son opera tarayıcı sürümünü yüklediğinizden emin olun (opera beta veya opera geliştiricisi kullanmayın), bunun için resmi opera sitesine gidin ve oradan en son opera_stable sürümünü indirin.

  1. En son opera sürücüsünü yükleyin (zaten bir opera sürücüsü yüklemeniz varsa, önce sudo rm'yi kullanmanız gerekir ...)

wget https://github.com/operasoftware/operachromiumdriver/releases/download/v.80.0.3987.100/operadriver_linux64.zip

   unzip operadriver_linux64.zip
   sudo mv operadriver /usr/bin/operadriver
   sudo chown root:root /usr/bin/operadriver
   sudo chmod +x /usr/bin/operadriver

benim durumumda gördüğünüz gibi en son 80.0.3987 idi

  1. Buna ek olarak, aynı zamanda chromriver'ı taktım (ama testten önce yaptığımdan, bunun gerekli olduğunu bilmiyorum), chromriver'ı kurmak için önceki adımdaki adımları izleyin: v

  2. Keyfini çıkarın ve bana teşekkür edin!

Örnek selenyum kodu

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Opera()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.quit()

0

Bu hatanın birçok olası nedeni var gibi görünüyor. Bizim durumumuzda, hata aşağıdaki kodda iki satırımız olduğu için oldu:

System.setProperty("webdriver.chrome.driver", chromeDriverPath);
chromeOptions.setBinary(chromeDriverPath);

İkinci satırı kaldırarak çözüldü.


yukarıdaki @ sergiy-konoplyaniy düzeltmesinin tam tersi görünüyor: '(
Toby

SetBinary'de, bir hata gibi görünen krom sürücüsünü ayarlamaya çalıştık. @ sergiy-konoplyaniy'in düzeltmesi chrome.exe'yi setBinary aracılığıyla ayarlar.
shiuu

Bu kodu nereden aldın? Tüm sahip olduğum bir .side dosyası ve içinde hiçbir C # kodu yok.
pabrams

0

Chrome'u bir Docker kapsayıcısında Behat / Mink ve Selenium aracılığıyla çalıştırırken de aynı sorunla karşılaştım. Biraz oynadıktan sonra, behat.ymlyukarıda belirtilen anahtarları sağlayan aşağıdakilere geldim . Bunların başarılı bir şekilde çalışmasını sağlamak için hepsinin gerekli olduğunu unutmayın.

default:
    extensions:
        Behat\MinkExtension:
            base_url: https://my.app/
            default_session: selenium2
            selenium2:
                browser: chrome
                capabilities:
                    extra_capabilities:
                        chromeOptions:
                            args:
                                - "headless"
                                - "no-sandbox"
                                - "disable-dev-shm-usage"

0

Benim durumumda, varsayılan dizini çöple dolduracağı için varsayılan TMPDIR'i kullanamayacağım bir Kubernetes ortamındayım.

Bu yüzden farklı bir tmpdir kullanmak için kullanıyordum:

driver = new ChromeDriver(new ChromeDriverService.Builder()
                    .withEnvironment(ImmutableMap.of("TMPDIR", customTmpPath))
                    .build(), options);

Ama şimdi her şeyi en son sürüme yükselttiğime göre, bu artık işe yaramıyor gibi görünüyor. Bunu yapmak için yeni bir yol bulmam gerekecek.


0

Krom tornavida hangi hata ayıklama portu kromunu kullandığını anlayamadığında olur.

Olası nedenlerden biri HKEY_CURRENT_USER \ Software \ Policies \ Google \ Chrome \ UserDataDir ile ilgili açık bir kusurdur

Ama son durumumda, tanımlanamayan başka bir nedendi.

Neyse ki bağlantı noktası numarası manuel olarak ayarlandı:

final String[] args = { "--remote-debugging-port=9222" };
options.addArguments(args);
WebDriver driver = new ChromeDriver(options);

2
Sabit bir liman mı? Veya nereden bulabilirim?
Mike Shiyan

0

Benim durumumda yanlış bağlantı noktası numarası. Selenium sunucusunu başlatırken bağlantı noktası numarasının komut dosyanızdaki ile aynı olup olmadığını kontrol edin.


-2

Ben yükleyerek bu sorunu çözmek yum -y install gtk3-devel gtk3-devel-docs", tamam çalışıyor

Benim işim env:

Selenium Version 3.12.0
ChromeDriver Version v2.40
Chrome 68 level

Önce:
resim açıklamasını buraya girin resim açıklamasını buraya girin

Sonra:
resim açıklamasını buraya girin resim açıklamasını buraya girin


10
Yorumdan: Lütfen görüntülerde metin yayınlamayın. Cevabınızı DÜZENLEYİN ve bu resimleri metinle değiştirin. Thanks
sɐunıɔ ןɐ qɐp

1
Bu sorunu herkes için çözüyor mu? Bu benim için problemi
çözmedi

-2

Bu tür bir hata için en aktif mesaj olduğundan, çözümümden bahsetmek istedim (bunu düzeltmek için saat geçirdikten sonra).

Ubuntu 18.04'te Chrome 70 ve Chromedriver 2.44 ve Python3 kullanarak, yukarıda listelenen tüm seçenekleri devre dışı bırakmış olsam bile aynı DevToolsActivePort hatasını almaya devam ettim. Ch, chmedriver günlük dosyası ve ps, chrome_options.binary_location içinde ayarladığım chromedriver'ın çalıştığını gösterdi, ancak her zaman DevToolsActivePort hatası verdi. Chrome_options.binary_location = '....' öğesini kaldırdığımda ve webdriver oluşturma işlemine eklediğimde, iyi çalışıyor. webdriver.Chrome ('/ yol ... / chromedriver', chrome_options = chrome_options)

Sorunu anlamamı ve çözmemi sağlayan yorumlarınız için herkese teşekkürler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.