Нажмите на элементы в Chrome Extension с селеном - PullRequest
0 голосов
/ 06 ноября 2018

Я искал в Интернете, используя Selenium (Java), взаимодействуя с расширением Google Chrome, но не смог найти ответ.

Первый вопрос Есть ли способ запустить расширение Chrome, поскольку Selenium взаимодействует только с WebView, но не с кнопкой расширения Chrome в браузере?

я пробую этот метод "chrome-extension: //id/index.html", но расширение не запустилось, как ожидалось. Мне нравится находить, есть ли другой способ запустить расширение Chrome через Селен

Второй вопрос Я пытаюсь нажать на элементы в расширении Chrome с помощью веб-драйвера Selenium. Как мне это сделать ? Я попробовал драйвер. CurrentWindowHandle, но он не определяет расширение chrome.

Спасибо

1 Ответ

0 голосов
/ 05 июня 2019

Ниже приведено решение с pyautogui (аналогично autoit в Java - так что вы можете расширить то же решение для java также ).

Pre состояние:

сохранить изображение расширения в папке проекта (я сохранил его в папке «autogui_ref_snaps» в моем примере с именем «capture_full_screenshot.png»

Python:

Требуется импорт

from selenium import webdriver
from selenium.webdriver import ChromeOptions
from Common_Methods.GenericMethods import *
import pyautogui  #<== need this to click on extension

Сценарий:

options = ChromeOptions()
options.add_argument("--load-extension=" + r"C:\Users\supputuri\AppData\Local\Google\Chrome\User Data\Default\Extensions\fdpohaocaechififmbbbbbknoalclacl\5.1_0") #<== loading unpacked extension

driver = webdriver.Chrome(
executable_path=os.path.join(chrome_options=options)
url = "https://google.com/"
driver.get(url)

# get the extension box
extn = pyautogui.locateOnScreen(os.path.join(GenericMethods.get_full_path_to_folder('autogui_ref_snaps') + "/capture_full_screenshot.png"))
# click on extension 
pyautogui.click(x=extn[0],y=extn[1],clicks=1,interval=0.0,button="left")

Если вы загружаете расширение, и оно не доступно в режиме инкогнито, следуйте моему ответу в здесь , чтобы включить его.

...