programing

Chrome에서 Selenium WebDriver Python 바인딩 실행

minimums 2023. 7. 17. 20:50
반응형

Chrome에서 Selenium WebDriver Python 바인딩 실행

셀레늄과 작업을 하던 중 문제가 발생했습니다.제 프로젝트를 위해서는 크롬을 사용해야 합니다.하지만 셀레늄으로 브라우저를 실행한 후 연결이 되지 않습니다.

왠지 셀레늄은 혼자서는 크롬을 찾을 수가 없습니다.경로를 포함하지 않고 Chrome을 실행하려고 하면 다음과 같습니다.

Traceback (most recent call last):
  File "./obp_pb_get_csv.py", line 73, in <module>
    browser = webdriver.Chrome() # Get local session of chrome
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
    self.service.start()
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
    and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.                 Please download from http://code.google.com/p/selenium/downloads/list                and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'

이 문제를 해결하기 위해 Chrome을 실행하는 코드에 Chrome 경로를 포함시켰습니다.그러나 인터프리터가 연결할 소켓을 찾지 못합니다.

Traceback (most recent call last):
  File "./obp_pb_get_csv.py", line 73, in <module>
    browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
    self.service.start()
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
    raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'

저는 또한 다음과 같은 방법으로 크롬을 출시하여 문제를 해결하려고 했습니다.

크롬 --remote-shell-port=9222

하지만, 이것도 효과가 없었습니다.

PS. 다음은 내 시스템에 대한 몇 가지 정보입니다.

www-client: chromium 15.0.874.121
dev-lang:   python 2.7.2-r3 Selenium 2.11.1
OS:         GNU/Linux Gentoo Kernel 3.1.0-gentoo-r1

독립 실행형 ChromeDriver 이진 파일(Chrome 브라우저 이진 파일과 다름)이 경로에 있거나 webdriver.chrome.driver 환경 변수에서 사용할 수 있는지 확인해야 합니다.

연결 방법에 대한 자세한 내용은 http://code.google.com/p/selenium/wiki/ChromeDriver 을 참조하십시오.

편집:

맞습니다. 경로 또는 환경 변수에서 크롬 드라이버 바이너리를 읽는 Python 바인딩 wrt의 버그인 것 같습니다.크롬 드라이버가 당신의 길에 없다면 당신은 그것을 생성자에게 인수로 전달해야 하는 것 같습니다.

import os
from selenium import webdriver

chromedriver = "/Users/adam/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()

리눅스용

  1. 최신 버전의 크롬 brwoser를 설치했는지 확인하세요->chromium-browser -version

  2. 그렇지 않은 경우 최신 버전의 크롬을 설치합니다.sudo apt-get install chromium-browser

  3. 여기에서 적절한 버전의 크롬 드라이버 가져오기

  4. 크롬 드라이버의 압축을 풉니다.지퍼

  5. 파일 이동 위치/usr/bin디렉토리sudo mv chromedriver /usr/bin

  6. 에 가다/usr/bin디렉토리cd /usr/bin

  7. 이제, 당신은 다음과 같은 것을 실행해야 할 것입니다.sudo chmod a+x chromedriver실행 가능으로 표시합니다.

  8. 마지막으로 코드를 실행할 수 있습니다.

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("http://www.google.com")
    print driver.page_source.encode('utf-8')
    driver.quit()
    

Mac OS X 전용

쉬운 방법은 다음 명령을 실행하는 것입니다(홈브루가 이미 설치되어 있다고 가정할 때, 설치되어 있지 않다면 먼저 설치하고 홈브루가 더 나은 삶을 살도록 해야 합니다).

brew install chromedriver

그러면 크롬 드라이버가 당신의 길에 놓이게 될 것이고 당신은 준비가 다 되어 있을 것입니다.

Windows의 경우

직접 링크에서 ChromeDriver를 다운로드하거나 이 페이지에서 최신 버전을 얻습니다.

붙여넣기chromedriver.exe파일에 저장C:\Python27\Scripts폴더를 누릅니다.

이제 작동합니다.

from selenium import webdriver
driver = webdriver.Chrome()

Windows의 경우 다음을 사용하십시오.chromedriver.exe아래에 있는.<Install Dir>/Python27/Scripts/.

Ubuntu에서 다음을 수행할 수 있습니다.

sudo apt install chromium-chromedriver

효과가 있을 겁니다

Google Chrome에서 Selenium Python 테스트를 실행하는 두 가지 방법이 있습니다.Windows(윈도우 10의 경우)를 고려 중입니다.

필수 구성 요소:다음 사이트에서 최신 Chrome 드라이버 다운로드:다운로드 - ChromeDriver - Chrome용 웹 드라이버

방법 1:

받은 에 압축을 풉니다.
아래와 합니다:ii) 코드의실경아래와같설이다니정합.

self.driver = webdriver.Chrome(executable_path='D:\Selenium_RiponAlWasim\Drivers\chromedriver_win32\chromedriver.exe')

방법 2:

<Install Dir>/Python/Scripts/ 아래에 chromedriver.exe를 붙여넣기만 하면 됩니다(제 경우 폴더는 C:\Python36\스크립트)
이제 :ii) 이제아와같간이단코드작성다니합를한래.

self.driver = webdriver.Chrome()

Windows IDE의 경우:

경로가 작동하지 않는 경우 다음을 추가할 수 있습니다.chromedriver.exe이 프로젝트 구조와 같이 프로젝트에 적용됩니다.

chromedriver.exe

그러면 당신은 그것을 로드해야 합니다.chromedriver.exe당신의 메인 파일에.나로서는, 나는 그것을 로딩했습니다.driver.exedriver.py.

def get_chrome_driver():
return webdriver.Chrome("..\\content\\engine\\chromedriver.exe",
                            chrome_options='--no-startup-window')

..은 단입니다.driver.py's

.▁the가 있는 를 의미합니다.driver.py는 치위입니다.

언급URL : https://stackoverflow.com/questions/8255929/running-selenium-webdriver-python-bindings-in-chrome

반응형