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)
我正在尝试启动一个机器人来接受 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)