web-dev-qa-db-ja.com

chromePython=

SeleniumをPython Chrome= webdriverで使用しました。

driver = webdriver.Chrome(executable_path = PATH_TO_WEBDRIVER)

webdriverがwebdriver実行可能ファイルを指すようにします。 WebdriverをChromeブラウザバイナリにポイントする方法はありますか?

https://sites.google.com/a/chromium.org/chromedriver/capabilities には、次のものがあります(探しているものを想定しています)。

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");

Pythonの例はありますか?

11
user123

Chrome Browser Binaryをchrome webdriver in Python以下の方法で設定できます:


Optionsクラスの使用:

from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
driver.get('http://google.com/')

DesiredCapabilitiesクラスの使用:

from Selenium import webdriver
from Selenium.webdriver.common.desired_capabilities import DesiredCapabilities
cap = DesiredCapabilities.CHROME
cap = {'binary_location': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Chrome(desired_capabilities=cap, executable_path="C:\\Utility\\BrowserDrivers\\chromedriver.exe")
driver.get('http://google.com/')

ChromeとしてServiceとして使用:

from Selenium import webdriver
import Selenium.webdriver.chrome.service as service
service = service.Service('C:\\Utility\\BrowserDrivers\\chromedriver.exe')
service.start()
capabilities = {'chrome.binary': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Remote(service.service_url, capabilities)
driver.get('http://www.google.com')
16
DebanjanB

WebdriverをChromeブラウザバイナリにポイントする方法はありますか?

他の人がすでに述べているように、binary_location。ただし、Chromeの場所はプラットフォームに応じて移動します。FedoraとUbuntuは異なる場所を使用します。したがって、次のようなものを使用できます。

def get_chrome():
    if os.path.isfile('/usr/bin/chromium-browser'):
        return '/usr/bin/chromium-browser'
    Elif os.path.isfile('/usr/bin/chromium'):
        return '/usr/bin/chromium'
    Elif os.path.isfile('/usr/bin/chrome'):
        return '/usr/bin/chrome'
    Elif os.path.isfile('/usr/bin/google-chrome'):
        return '/usr/bin/google-chrome'
    else:
        return None

その後:

if version.parse(Selenium.__version__) >= version.parse("3.0"):
    opts = Options()
    opts.binary_location = get_chrome()
    opts.add_argument('--headless')
    opts.add_argument('--no-sandbox')
    opts.add_argument('--disable-dev-shm-usage')

    driver = webdriver.Chrome(chrome_options=opts)
    driver.maximize_window()
else:
    opts = Options()
    opts.headless = True
    opts.binary_location = get_chrome()

    driver = webdriver.Chrome(chrome_options=opts)
    driver.maximize_window()

agent = driver.execute_script('return navigator.userAgent')
1
jww

まず、chromeを使用する場合は、以下のURLからバイナリをダウンロードする必要があります:-

https://sites.google.com/a/chromium.org/chromedriver/

次に、このドライバーパスをSelenium Webdriverに渡す必要があります。

pythonを使用している場合、コードは次のようになります。

    driver = webdriver.Chrome('C:\Users\name\Downloads\chromedriver_win32 (3)\chromedriver.exe')
    driver.implicitly_wait(30) # seconds
    driver.get('https://www.google.co.in/')

それがあなたを助けることを願っています:)

1
Shubham Jain

PythonでChrome実行可能パスを設定する方法がわからなかったため、これに2.5時間苦労しました。

options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
0
Rembau