Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中打开同一浏览器上不同于CSV选项卡的URL_Python_Selenium_Csv - Fatal编程技术网

在Python中打开同一浏览器上不同于CSV选项卡的URL

在Python中打开同一浏览器上不同于CSV选项卡的URL,python,selenium,csv,Python,Selenium,Csv,我试图在一个窗口中打开新选项卡中的URL列表,但它会在新窗口中打开它们。请帮忙。这是我的URL.csv 当您将driver=webdriver.Chromer'C:\chromedriver\u win32\chromedriver'放入循环中时,您正在为每个网站创建一个新的webdriver实例 试着这样做: import csv import time from selenium import webdriver from selenium.webdriver.common.keys im

我试图在一个窗口中打开新选项卡中的URL列表,但它会在新窗口中打开它们。请帮忙。这是我的URL.csv

当您将driver=webdriver.Chromer'C:\chromedriver\u win32\chromedriver'放入循环中时,您正在为每个网站创建一个新的webdriver实例

试着这样做:

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)

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)

要添加新选项卡,请使用 发送\u keysKeys.COMMAND+'t'用于mac, 或
send_keysKeys.CTRL+'t'for windows

在您发布的代码段中,您正在驱动程序实例中打开URL,而不是新选项卡

相反,您应该尝试如下方式打开新选项卡:

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)

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)

谢谢你的关心,兄弟。现在发生的事情是,它用google.com打开一个浏览器,而不是在同一个选项卡上打开一个新的选项卡,它打开youtube.com,然后浏览器关闭。我想要的是,它在第一个选项卡中打开google.com,在第二个选项卡中打开youtube.com并保持打开状态。是的,我错了!试试这个:driver.execute_scriptf'window.open{url},_blank;'而不是通过标签名和driver.geturl查找元素。如果您需要关闭第一个空白窗口,请尝试在选项卡之间切换,就像它仍然无法正常工作一样。几秒钟后,浏览器就会关闭,请定义打开这些页面后要执行的操作好吗?我想在一个浏览器的不同选项卡上打开多个URL。即使我在csv中添加了更多URL。我希望浏览器在加载链接后保持打开状态。谢谢。它不会打开新选项卡,而是使用javascript和robot类在同一选项卡上打开第二个链接…你知道吗可以运行“打开新选项卡…”。。。我用java运行这个脚本。。但对于逻辑,您可以参考此代码。。它只是打开一个空白页。没有任何url谢谢。您是否格式化了实际的url查询?现在试试,只需编辑代码。