Как я могу открыть новое окно Chrome с автоматизацией javascript в yosemite?

Я пытаюсь сделать что-то основное. Я просто хочу открыть новое окно, а затем в этом окне открыть 2 вкладки, используя новый мост javascript OSX Yosemite. Я не могу найти документы, которые показывают, как это сделать:

ObjC.import("Cocoa");
chrome = Application("Google Chrome");
chrome.includeStandardAdditions = true
chrome.open("test1tab.com");
chrome.open("test2tab.com");

person jas    schedule 09.12.2014    source источник


Ответы (2)


Я игнорирую строку standardAddiions, в основном потому, что я использовал ее, и она вернула ошибку при попытке выполнить базовый beep(). Также обратите внимание, что мне пришлось написать полный URL, чтобы он работал!

chrome = Application("Google Chrome");
//chrome.includeStandardAdditions = true;
win = chrome.Window().make();
chrome.windows[0].tabs[0].url = "http://www.crgreen.com/index2.html";
tab = win.tabs.push(new chrome.Tab());
chrome.windows[0].tabs[1].url = "http://www.crgreen.com/boethos/";

(p.s. Я отредактировал хреновую версию, а потом увидел, что вы изначально хотели 2 вкладки, так что вот)

person CRGreen    schedule 10.12.2014
comment
Спасибо, а откуда вы это знаете? Я читал файлы словарей и ничего не видел о окнах. Еще раз спасибо! - person jas; 10.12.2014
comment
Пожалуйста. окно находится в словаре как в Standard Suite, так и в Chromium Suite; вкладки перечислены как элементы, содержащиеся в окнах (Chromium Suite). Эта страница помогла: developer.apple.com/library/mac/releasenotes / - person CRGreen; 11.12.2014

Вы были близки. Это работает:

chrome = Application("Google Chrome");
chrome.includeStandardAdditions = true;
chrome.openLocation("http://test1tab.com");
chrome.openLocation("http://test2tab.com");

Обратите внимание, как:

  • Строка ObjC необязательна.
  • Должно быть openLocation вместо open.
  • URL-адреса должны указывать протокол.
person user137369    schedule 25.02.2018