Открытие URL в одном браузере на другой вкладке из CSV в Python - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь открыть список URL-адресов в новых вкладках в одном окне, но вместо этого он открывает их в новых окнах.Пожалуйста помоги.Это мой URL.csv

SN,Title,URL
1,Google,https://google.com
2,youtube,https://youtube.com

import csv

from selenium import webdriver


def csv_url_reader(url_obj):
    reader = csv.DictReader(url_obj, delimiter=',')

    for line in reader:
        url = line["URL"]
        title = line["Title"]
        print(url + title)
        driver = webdriver.Chrome(r'C:\chromedriver_win32\chromedriver')
        driver.get(url)



if __name__ == "__main__":
    with open("URL.csv") as url_obj:
        csv_url_reader(url_obj)

Ответы [ 3 ]

1 голос
/ 27 мая 2019

В фрагменте кода, который вы опубликовали, вы открываете URL-адрес в экземпляре драйвера, а не новую вкладку.

Вместо этого вам следует попробовать открыть новые вкладки, например:

import csv

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(r'C:\chromedriver_win32\chromedriver')
def csv_url_reader(url_obj):
    reader = csv.DictReader(url_obj, delimiter=',')


    for line in reader:
        url = line["URL"]
        title = line["Title"]
        print(url + title)
        driver.execute_script("window.open(" + url + ",'_blank');")



if __name__ == "__main__":
    with open("URL.csv") as url_obj:
        csv_url_reader(url_obj)
0 голосов
/ 26 мая 2019

Чтобы добавить новую вкладку, вы бы использовали send_keys(Keys.COMMAND + 't') для Mac, или же send_keys(Keys.CTRL + 't') для окон

0 голосов
/ 26 мая 2019

Когда вы помещаете driver = webdriver.Chrome(r'C:\chromedriver_win32\chromedriver') в цикл, вы создаете новый экземпляр веб-драйвера для каждого веб-сайта.

Попробуйте что-то вроде этого:

import csv
import time

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

def csv_url_reader(url_obj):
    reader = csv.DictReader(url_obj, delimiter=',')
    driver = webdriver.Chrome(r'C:\chromedriver_win32\chromedriver')

    for line in reader:
        url = line["URL"]
        title = line["Title"]
        print(url + title)
        driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') 
        driver.get(url)

if __name__ == "__main__":
    with open("URL.csv") as url_obj:
        csv_url_reader(url_obj)
    time.sleep(9999999)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...