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()
리눅스용
최신 버전의 크롬 brwoser를 설치했는지 확인하세요->
chromium-browser -version
그렇지 않은 경우 최신 버전의 크롬을 설치합니다.
sudo apt-get install chromium-browser
여기에서 적절한 버전의 크롬 드라이버 가져오기
크롬 드라이버의 압축을 풉니다.지퍼
파일 이동 위치
/usr/bin
디렉토리sudo mv chromedriver /usr/bin
에 가다
/usr/bin
디렉토리cd /usr/bin
이제, 당신은 다음과 같은 것을 실행해야 할 것입니다.
sudo chmod a+x chromedriver
실행 가능으로 표시합니다.마지막으로 코드를 실행할 수 있습니다.
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
당신의 메인 파일에.나로서는, 나는 그것을 로딩했습니다.driver.exe
driver.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
'programing' 카테고리의 다른 글
공백 없이 텍스트를 단어 목록으로 분할하는 방법 (0) | 2023.07.17 |
---|---|
파이썬에서 __init__의 값을 반환하는 방법은 무엇입니까? (0) | 2023.07.17 |
Oracle을 사용하여 Oracle에 연결합니다.관리되는 데이터 액세스 (0) | 2023.07.17 |
스프링 부츠 플라이웨이예외:데이터베이스에 연결할 수 없습니다.URL, 사용자 및 암호 구성 (0) | 2023.07.17 |
Excel VBA 매크로에서 UTC의 현재 날짜 시간을 가져오는 방법 (0) | 2023.07.17 |