๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป๊ฐœ๋ฐœ/์…€๋ ˆ๋‹ˆ์›€

์…€๋ ˆ๋‹ˆ์›€ - ์•ˆ๋“œ๋กœ์ด๋“œ ๋ชจ๋ฐ”์ผ ํฌ๋กฌ ์กฐ์ž‘

by Janger 2022. 4. 9.
728x90
๋ฐ˜์‘ํ˜•
๋””๋ฐ”์ด์Šค๊ฐ€ ํ•œ ๊ฐœ์ธ ๊ฒฝ์šฐ
# -*- coding: utf-8 -*-

from selenium import webdriver
import time


options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')

driver = webdriver.Chrome(options=options)
driver.implicitly_wait(15)

driver.get('https://www.naver.com')

time.sleep(1)

print(driver.current_url)
driver.execute_script('alert(1)')

๋‚˜์ค‘์— ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค์ธ๋ฐ driver = webdriver.Chrome('chromedriver.exe', options=options)์—์„œ 'chromedriver.exe'๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

์ถœ์ฒ˜: 

https://sqa.stackexchange.com/questions/46931/is-it-possible-to-open-a-mobile-browser-with-selenium-webdriver

 

Is it possible to open a mobile browser with Selenium WebDriver?

I know it is possible to open a desktop web browser with Selenium WeDriver. The following lines written in Java allows doing so: WebDriver webDriverChrome = new ChromeDriver(); webDriverChrome.get(

sqa.stackexchange.com

 

 

 

๋””๋ฐ”์ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ

options์— androidDeviceSerial์˜ ์†์„ฑ ๊ฐ’์œผ๋กœ ๋””๋ฐ”์ด์Šค ๊ณ ์œ  ์‹œ๋ฆฌ์–ผ์„ ์ž…๋ ฅํ•ด์ค€๋‹ค. 

# -*- coding: utf-8 -*-

from selenium import webdriver
import time


options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
options.add_experimental_option('androidDeviceSerial', '0715f764e18f1532')

driver = webdriver.Chrome(options=options)
driver.implicitly_wait(15)

driver.get('https://www.naver.com')

time.sleep(1)

print(driver.current_url)
driver.execute_script('alert(1)')

 

adb devices๋กœ ๋””๋ฐ”์ด์Šค์˜ ๊ณ ์œ  ์‹œ๋ฆฌ์–ผ ๊ฐ’์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์Œ.

 

์ถœ์ฒ˜: 

https://chromedriver.chromium.org/getting-started/getting-started---android

 

ChromeDriver - WebDriver for Chrome - Android

Dependencies

chromedriver.chromium.org

 

 

์•ฑ ํ”Œ๋ ˆ์ด์–ด์—์„œ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํฌ๋กฌ ์•ฑ์ด ๊บผ์ง€๋Š” ๊ฒฝ์šฐ

์™œ ๊ทธ๋Ÿฐ์ง€๋Š” ์ž์„ธํžˆ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ž ์‹œ๋ผ๋„ ์•ฑ ํ”Œ๋ ˆ์ด์–ด(๋…น์Šค)์— ์กฐ์ž‘์„ ํ•˜์ง€ ์•Š์œผ๋ฉด adb ์—ฐ๊ฒฐ์ด ์•ˆ๋œ๋‹ค. 

๊ทธ๋Ÿด๋• adb shell๋กœ ์—ฐ๊ฒฐ์ด ์•ˆ๋œ๋‹ค๋ฉด ์•ฑ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ž ๊น ์กฐ์ž‘ํ•ด์„œ ํ™œ์„ฑํ™” ์‹œ์ผœ์ค€๋‹ค. 

 

C# Selenium์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddAdditionalCapability("androidPackage", "com.android.chrome");

driver = new ChromeDriver(defaultService, chromeOptions);

๋งŒ์•ฝ argument๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค๋ฉด Selenium ๋ชจ๋“ˆ์„ ์žฌ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ adb๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์„ค์น˜๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค. 

728x90
๋ฐ˜์‘ํ˜•