Python - Selenium - How To Use Browser Shortcuts
Solution 1:
I have tested this on Google Chrome and the problem can be solved using a combination of .key_down()
and .send_keys()
methods of the ActionChains class.
ActionChains(driver).key_down(Keys.CONTROL).send_keys('p').key_up(Keys.CONTROL).perform()
ActionChains(driver).send_keys(Keys.ENTER)
Solution 2:
from selenium import webdriver
from selenium.webdriver.common.keysimportKeys
browser.get('https://www.myglenigan.com/project_search_results.aspx?searchId='+ID)
element=browser.find_element_by_xpath("//body")
element.send_keys(Keys.CONTROL, 'p')
Just a note, this will open Firefox print panel. But the same code will not work in Goggle Chrome.
Solution 3:
from selenium.webdriver.common.action_chainsimportActionChainsfrom selenium.webdriver.common.keysimportKeysActionChains(browser).send_keys(Keys.CONTROL, "p").perform()
that would send the keyboard shortcut for a print dialog
I haven't found a way to do this in FF for printing though - ctrl+p will open the print dialog, but FF has a focus bug that doesn't allow one to do Keys.ENTER for the dialog itself
hopefully this will work for you in Chrome, I haven't tested it there
please update if you find a way around this - possibly try AutoIt
If none of the above works you can always do
browser.get_screenshot_as_file( path + 'page_image.jpg' )
Solution 4:
If i understood your question correctly my suggestion is that you install and use the pyautogui module to make your python program press keys
For example:
import pyautogui
pyautogui.hotkey('ctrl','p')
see the pyautogui documentation for more information: https://pyautogui.readthedocs.io/en/latest/introduction.html
Post a Comment for "Python - Selenium - How To Use Browser Shortcuts"