Перейти к содержимому

Как открыть новую вкладку selenium python

  • автор:

Python SELENIUM webdriver.get(url) возможно ли что бы ссылки открывались в одном экземпляре браузера каждая в новой вкладе?

Сейчас каждая ссылка открывается в новом экземпляре браузера.

Возможно ли что бы ссылки открывались в одном экземпляре браузера каждая в новой вкладе?

какой браузер работает быстрее с selenium на ubuntu 19.10?

я заметил что у меня хром намного быстрее запускается и прогружает ссылки чем фаирфокс. Машина очень быстрая!

dkoss777
05.03.20 21:52:55 MSK

ctrl+t скажи ему

какой браузер работает быстрее

И, прежде чем страдать всей этой хернёй, ответь себе на вопрос: «а чего я вообще пытаюсь получить в результате?».
Потому что складывается ощущение что ты или пытаешься гвозди микроскопом забивать или чего ещё хуже.

Goury ★★★★★
( 06.03.20 03:40:01 MSK )
Последнее исправление: Goury 06.03.20 03:40:21 MSK (всего исправлений: 2)

Ответ на: комментарий от Goury 06.03.20 03:40:01 MSK

у меня цикл где при каждом проходе я получаю ссылку и отдаю ее фунции get. можно по подробнее как сказать ему что нужно открыть новую вкладку а не браузер?

Если можно по подробнее так как я не использовал профиль никакой т.е. импортировал webdriver только и использовал get

«а чего я вообще пытаюсь получить в результате?».

это само собой у меня есть четко представление того что у меня есть и что мне нужно получить. Но я и в правду дилетант скажем прямо в программирование скажет имею школьную базу. Но моё стремление к результату на столько велико что я готов гвозди *** заколачивать только бы прийти к поставленному результату)) Буду благодарен за любую помощь. Спасибо

Возможно ли в Selenium открывать новую вкладку/окно?

Здравствуйте, работаю над парсером одного сайта, и по воле его создателей, моему парсеру нужно перенести информацию с одной страницы, на другую с минимальными потерями во времени, из-за чего вариант get() не подходит ибо он в той же вкладке переходит по новой ссылке. Моя цель пока парсер не начал работу, открыть сразу две вкладки/окна, и уже при работе между ними переключаться.

  • Вопрос задан более трёх лет назад
  • 11588 просмотров

Комментировать

Решения вопроса 1

Zarom

Самый простой вариант — создать новый инстанс браузера.
Другой вариант — выполнить

driver.execute_script("window.open('https://google.com')")

Сейчас натолкнулся ещё на такой вариант с использованием send_keys(Keys.CONTROL + ‘t’)

from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("http://stackoverflow.com/") body = driver.find_element_by_tag_name("body") body.send_keys(Keys.CONTROL + 't') driver.close()

Ответ написан более трёх лет назад

Selenium. Как открыть ссылку на новой вкладке браузера и перейти на эт

Фотография

Как сделать, чтобы при открытии ссылки в новой вкладке программа ещё и переход и ла на эту вкладку?

#2 user12

Отправлено 03 ноября 2016 — 16:42

Никак, не работает Selenium со вкладками

Открывайте просто в новом окне.

//все хендлеры Set oldWindows = driver.getWindowHandles(); //тут клик на линку, которая открывает новое окно driver.findElement(xxxx).click(); //новый набор хендлеров Set newWindows = driver.getWindowHandles(); //удаляем из сета старый хендлер,т.е. остается только новый newWindows .removeAll(oldWindows);

PS это не весь код, конечно

Selenium: как открывать новую вкладку (а не браузер)?

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно.
Необходимо обновить браузер или попробовать использовать другой.

ratata
Новичок

Пользователь

Дек 29, 2021 37 1 8

Я через selenium захожу в твитер, мне нужно подписаться на канал и потом сделать несколько твитов и ретвитов по новым url ссылкам.
Я сделал так (код), но при открытии новой ссылки из аккаунта выходит и приходится заходить заново. Как сделать так, чтобы открывался не новый браузер, а новые вкладки, чтобы я авторизовался один раз и все остальное делал уже без повторной авторизации?

driver = webdriver.Chrome(CHROMEDRIVERPATH, seleniumwire_options = proxy) driver.get(https://twitter.com/login) driver.implicitly_wait(5) time.sleep(5) def login(): # АВТОРИЗАЦИЯ user = driver.find_element(By.XPATH, '//*[@autocomplete="username"]') user.send_keys(userUsername) bottom = driver.find_element(By.XPATH, '//*[@class="css-18t94o4 css-1dbjc4n r-sdzlij r-1phboty r-rs99b7 r-ywje51 r-usiww2 r-2yi16 r-1qi8awa r-1ny4l3l r-ymttw5 r-o7ynqc r-6416eg r-lrvibr r-13qz1uu"]/div') bottom.click() password = driver.find_element(By.XPATH, '//*[@autocomplete="current-password"]') password.send_keys(userPassword) password.send_keys(Keys.ENTER) def send_tweet(): # ВСТАВЛЯЕМ ТЕКСТ И ДЕЛАЕМ ТВИТ driver.get(tweet) driver.implicitly_wait(5) tweet = driver.find_element_by_css_selector("br[data-text='true']") tweet.send_keys(tweet_text) time.sleep(2) button = driver.find_element(By.XPATH, '//*[@class="css-18t94o4 css-1dbjc4n r-l5o3uw r-42olwf r-sdzlij r-1phboty r-rs99b7 r-19u6a5r r-2yi16 r-1qi8awa r-1ny4l3l r-ymttw5 r-o7ynqc r-6416eg r-lrvibr"]') button.click() login() send_tweet()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *