Click on elements in Chrome Extension with selenium

岁酱吖の 提交于 2019-12-24 05:58:04

问题


I have been searching on the internet using Selenium (Java) interacting with Google Chrome Extension but have not been able to find an answer.

First Question Is there a way to launch the chrome extension since Selenium only interact with WebView but not on the chrome extensions button in the browser ?

I try this method "chrome-extension://id/index.html" but the extension did not launch as expected. I like find if there is another way to launch a chrome extension through selenium

Second Question I am trying to click on the elements in a chrome extension with Selenium webdriver. How do I do it ? I tried the driver.CurrentWindowHandle , but it does not detect the chrome extension.

Thanks


回答1:


Below is the solution with pyautogui (similar to autoit in java - so you can extend the same solution for java also).

Pre-Condition:

save the extension image in the project folder (I saved it under "autogui_ref_snaps" folder in my example with "capture_full_screenshot.png" name

Python:

Imports needed

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

Script:

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")

If you are loading an extension and it's not available in incognito mode then follow my answer in here to enable it.



来源:https://stackoverflow.com/questions/53172127/click-on-elements-in-chrome-extension-with-selenium

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!