chromedriver 不会在第二个窗口/Python 中打开 url

时间:2021-04-09 18:02:15

标签: python selenium google-chrome selenium-webdriver discord.py

我正在尝试使用 selenium 库自动打开从我的不和谐中获得的链接。这是我的代码:

    #imports 
    import discord
    from selenium import webdriver
    client = discord.Client()
    #Load discord channels
    def getChannelIDs():
    channelList = []
    with open ("C:\\Users\\haide\\PycharmProjects\\Discord-Link-Opener\\channel ID.txt", "r") as file:
        for id in file:
            channelList.append(int(id.strip()))
    return channelList

channelList = getChannelIDs()

#get the url from discord

@client.event
async def on_message(message):
    if message.channel.id in channelList:
        urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', message.content)
        if urls:
            print (f"[{datetime.datetime.now()}] Link(s) Found:")
            for x in range(len(urls)):
                print(urls[x])
                open_url(urls[x])

#open the link with selenium
def open_url(url):
 PATH = r'C:\Program Files (x86)\chromedriver.exe'

 chrome_options = Options()
 chrome_options.add_argument("user-data-dir=selenium")
 chrome_options.add_argument('--disable-blink-features=AutomationControlled')
 driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=PATH)
 driver.set_window_size(1024, 600)
 driver.maximize_window()
 driver.get(url) 
 client.run(token, bot=False)

一切正常,直到我在不和谐中获得另一个链接。它打开第二页,但没有页面是空白的。我也收到此错误:

Traceback (most recent call last):
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\DiscordLinkOpener.py", line 69, in on_message
    open_url(urls[x])
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\DiscordLinkOpener.py", line 87, in open_url
    elif PartAlert in url:
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\haide\PycharmProjects\Discord-Link-Opener\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

有解决这个问题的想法吗?

0 个答案:

没有答案
相关问题