im trying to start a bot to accept cookies on instagram.
I have been succesful using this code
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()
This works as expected however when converted to a function in a seperate file it seems to cause an issue.
File A now looks like
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 looks like
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()
The error i run into is Unable to locate element: //a[text()='Log in']
Can anyone see the mistake?
Edit: Thank you for everyone who responded, i made it work due to your suggestions. Stack overflow has the best community.
Pass browser variable as parameter to "click_accept_cookies" function. Remove below lines from file B
browser = webdriver.Firefox()
browser.implicitly_wait(5)