2017-02-15 2 views
0

Я планирую использовать сочетания клавиш для управления хромированием; хотя я не могу найти подходящий пример.Отправлять ключевой штрих хромированному, используя selenium python

Я загружаю chromedriver как driver.remote объект в selenium python; поэтому я могу получить доступ к элементам, и пока это работает нормально; Я могу отправить ключи к элементу.

Хотя я не вижу, как можно на самом деле отправлять ярлыки браузера; у driver.remote нет функции sendkey; только элементы имеют его.

Так что если я хочу открыть ярлык меню, чтобы сделать какое-либо действие, я не могу. Есть ли способ сделать это, или он выходит за рамки Селена как такового?

+0

AFAIK, вы не можете использовать сочетания клавиш с 'chromedriver'. Что именно вы хотите выполнить? Какие ярлыки? – Andersson

+0

Пытается открыть новое окно, новую вкладку, сохранить страницу, загрузить страницу. Я попытался отправить эти ключевые ярлыки с выбранным «телом», но даже в этом случае приложение не получит команду. Я могу только отправлять текст в текстовое поле на самой веб-странице, а не в браузере –

+0

'Сохранить страницу', вы имеете в виду сохранить исходный код' HTML'? – Andersson

ответ

0

Вы не можете использовать комбинации клавиш с chromedriver, но вы можете попробовать некоторые подходы для выполнения необходимых действий:

from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get('/path/to/your/local/file.html') # To load page 
with open('/path/to/your/local/file.html', 'w') as f: 
    f.write(driver.page_source) # To save currently opened page HTML source code to local file 
driver.execute_script('window.open('https://google.com', 'new');') # To open Google page in new tab/window 
+0

Thanks; это решит мою загрузку и сохранит файл; хотя я не могу получить доступ к другим функциям браузера. Мне любопытно, что Selenium никогда не расширяет диапазон операций до контейнера, который фактически запускает веб-страницу. Конечно, есть и другие варианты; например, открытие подпроцесса и вызов сочетания клавиш через оболочку (я на OSX); но это не то же самое, что просто вызвать webdriver. Спасибо за ответ! –

Смежные вопросы