首页 文章

Python Selenium WebDriver:在新选项卡中打开URL

提问于
浏览
0

我有一个文本文档,每行都有一个URL . 我希望在新标签页中打开每个URL . 以下是我到目前为止的情况:

tabs = 0
f = open('links.txt', 'r', encoding='utf-8')
for line in f:
    url = line
    driver.execute_script("window.open(url, 'new_window')")
    sleep(7) # time to let tge page load
    tabs = tabs + 1 # to keep track of how many tabs I have

这给了我错误:

回溯(最近一次调用最后一次):文件“scraper.py”,第100行,在driver.execute_script中(“window.open(url,'new_window')”)文件“C:\ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py“,第635行,在execute_script'args'中:converted_args})['value']文件”C:\ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py “,第320行,执行self.error_handler.check_response(响应)文件”C:\ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py“,第242行,在check_response中引发exception_class(消息,屏幕) ,stacktrace)selenium.common.exceptions.WebDriverException:消息:未知错误:未定义url

我已经尝试了一切,但无法让它发挥作用 . 有任何想法吗?

1 回答

  • 0

    您试图在 execute_script 中错误地传递 url 变量 . 这样做 -

    tabs = 0
        f = open('links.txt', 'r', encoding='utf-8')
        for line in f:
            url = line
            driver.execute_script("window.open(arguments[0])", url)
            sleep(7) # time to let tge page load
            tabs = tabs + 1 # to keep track of how many tabs I have
    

    哪里,arguments[0]指的是你的网址 .

相关问题