В этот момент наиболее авторитетный ответ, похоже, содержится в этой проблеме , в которой говорится: «Это пользовательская сборка jQuery, которая исключает эффекты, ajax и устаревший код». Подробности будут объявлены с помощью jQuery 3.0.
Я подозреваю, что обоснование исключения этих компонентов библиотеки jQuery является признанием все более распространенного сценария использования jQuery в сочетании с другой инфраструктурой JS, такой как Angular или React. В этих случаях использование jQuery предназначено в первую очередь для обхода и манипулирования DOM, поэтому исключая те компоненты, которые либо устарели, либо обеспечиваются картой, что примерно на 20% уменьшает размер файла.
Последняя строка в вашем цикле,
idx + = 1
имеет неверный синтаксис. Вместо этого должно быть idx += 1
. Так что я не вижу, как вы вышли из цикла, он просто продолжал бы повторяться с idx = 0
, я что-то упустил?
Если вы планируете открывать поисковые ссылки в новых вкладках. Тогда вот упрощенный код.
browser.get("https://www.google.com")
#Selecting the search bar and send search text
searchElem = browser.find_element_by_css_selector('.gLFyf')
searchElem.send_keys("cars")
searchElem.submit()
time.sleep(5)
found_elems=browser.find_elements_by_xpath("//*[@class='LC20lb']/parent::a")
#Selecting and clicking on first 5 pages
idx = 0
while idx <= min(len(found_elems),5):
found_elem = found_elems[idx]
# scroll to link
found_elem.location_once_scrolled_into_view
print("Opening up ",found_elem.text)#Page Name
try:
# opening the link in new tab
browser.execute_script("window.open('"+found_elem.get_attribute('href')+"')")
except Exception as e:
print(e)
break
idx =idx+1