Это происходит потому, что JVM генерирует новый класс на лету, когда Lambda вызывается впервые. После этого этот класс можно использовать повторно. Вот почему в первый раз у вас высокая задержка.
Кроме того, важно понимать, что лямбды не всегда являются лучшими вариантами, особенно для простых операций, которые можно выполнить с помощью старого доброго цикла. Эта статья является богатой и довольно хорошим чтением для тех, кто интересуется производительностью Stream.
Вы можете вызвать get (), указав путь к Chrome. Ниже приведен пример - замените chrome_path на правильный путь для вашей платформы.
import webbrowser
url = 'http://docs.python.org/'
# MacOS
chrome_path = 'open -a /Applications/Google\ Chrome.app %s'
# Windows
# chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
# Linux
# chrome_path = '/usr/bin/google-chrome %s'
webbrowser.get(chrome_path).open(url)
В случае Windows, путь использует путь в стиле UNIX, поэтому сделайте обратную косую черту в прямую косую черту.
webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("http://google.com")
См .: Python: универсальный webbrowser.get (). Open () для chrome.exe не работает
Если вы установили браузер по умолчанию в Windows, вы можете сделать это:
open_google = webbrowser.get('windows-default').open('https://google.com')
from selenium import webdriver
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get("http://www.python.org")
import webbrowser
new = 2 # open in a new tab, if possible
# open a public URL, in this case, the webbrowser docs
url = "http://docs.python.org/library/webbrowser.html"
webbrowser.get(using='google-chrome').open(url,new=new)
Вы можете использовать любой другой браузер, изменив параметр 'using', как указано в ссылке
.Укажите путь к вашему приложению Chrome и не забудьте поставить% s в конце. Я все еще пытаюсь открыть браузер с HTML-кодом, не сохраняя файл ... Я добавлю код, когда найду, как.
import webbrowser
chromedir= "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s"
webbrowser.get(chromedir).open("http://pythonprogramming.altervista.org")
>>> ссылка на: [страницу в моем блоге, где я это объясняю] < <
Пожалуйста, проверьте это:
import webbrowser
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
webbrowser.get(chrome_path).open('http://docs.python.org/')
Вот несколько надежный способ получить путь к Chrome.
(Обратите внимание, что вы должны делать это только , если вам конкретно нужен Chrome, а не браузер по умолчанию, или Chromium, или что-то еще.)
def try_find_chrome_path():
result = None
if _winreg:
for subkey in ['ChromeHTML\\shell\\open\\command', 'Applications\\chrome.exe\\shell\\open\\command']:
try: result = _winreg.QueryValue(_winreg.HKEY_CLASSES_ROOT, subkey)
except WindowsError: pass
if result is not None:
result_split = shlex.split(result, False, True)
result = result_split[0] if result_split else None
if os.path.isfile(result):
break
result = None
else:
expected = "google-chrome" + (".exe" if os.name == 'nt' else "")
for parent in os.environ.get('PATH', '').split(os.pathsep):
path = os.path.join(parent, expected)
if os.path.isfile(path):
result = path
break
return result
В Selenium для получения URL-адреса активной вкладки попробуйте
from selenium import webdriver
driver = webdriver.Firefox()
print driver.current_url # This will print the URL of the Active link
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
print driver.current_url
Я здесь просто предоставляю вам псевдокод.
Вы можете поместить это в цикл и создать свой собственный поток.
Я новичок в Stackoverflow, поэтому все еще учусь писать правильные ответы.