我用 Python 编写了一个脚本,使用 Selenium 登录到 Instagram,然后搜索一些 # #NewYorkbarbers中的 # 标签,得到该标签的链接。我的脚本可以成功登录,点击Not Now,如果Turn on Notifications 出现,然后把该标签在搜索框,但我不能让我的脚本针对该标签启动搜索产生的结果。
已经这样试过了哦,还是不行:
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC
class InstagramScraper:
login_url = 'https://www.instagram.com/accounts/login/?source=auth_switcher'
def __init__(self,username,password):
self.driver = webdriver.Chrome()
self.wait = WebDriverWait(self.driver,10)
self.login(username,password)
def login(self,username,password):
self.driver.get(self.login_url)
self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'input[name="username"]'))).send_keys(username)
self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'input[name="password"]'))).send_keys(password)
self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'button[type="submit"]'))).click()
try:
self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'button.HoLwm'))).click()
except Exception:pass
def use_hashtag(self):
self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'input[placeholder="Search"]'))).send_keys("#NewYorkbarbers",Keys.ENTER)
if __name__ == '__main__':
scraper = InstagramScraper('username','password')
scraper.use_hashtag()
如何在 login() 中使用 return,因为好的方法都应该在其中包含 return 语句?
我怎样才能得到标签搜索的结果?