find_element_by_xpath 无法定位

find_element_by_xpath unable to locate

我正在尝试启动一个机器人来接受 Instagram 上的 cookie。

我已经成功使用此代码

from time import sleep
from selenium import webdriver

browser = webdriver.Firefox()
browser.implicitly_wait(5)

browser.get('https://www.instagram.com/')

sleep (5)
accept_cookies = browser.find_element_by_xpath("//button[text()='Accept All']")
accept_cookies.click()

这按预期工作,但是当转换为单独文件中的函数时,它似乎会导致问题。

文件 A 现在看起来像

from File_B import click_accept_cookies
from time import sleep
from selenium import webdriver

browser = webdriver.Firefox()
browser.implicitly_wait(5)

browser.get('https://www.instagram.com/')

click_accept_cookies()

File_B 长得像

from time import sleep
from selenium import webdriver

browser = webdriver.Firefox()
browser.implicitly_wait(5)

def click_accept_cookies():
    sleep(5)
    accept_cookies = browser.find_element_by_xpath("//button[text()='Accept All']")

    accept_cookies.click()

我 运行 的错误是 Unable to locate element: //a[text()='Log in'] 谁能看出错误?

编辑:感谢所有回复的人,由于您的建议,我让它成功了。 Stack Overflow 拥有最好的社区。

将浏览器变量作为参数传递给“click_accept_cookies”函数。从文件 B

中删除以下行
browser = webdriver.Firefox()
browser.implicitly_wait(5)