簡體   English   中英

Python Selenium:無法從 Instagram 中獲取 HREF 鏈接<time>標簽</time>

[英]Python Selenium: Can't Get HREF Link Off Instagram in <time> tags

PostLinkExtraction = driver.find_element_by_xpath("//article[1]/div[3]/div[1]/div/div[2]/div[1][*[local-name()='a']]").get_attribute('href')
print (PostLinkExtraction)

我試圖在我的 Instagram 時間軸上的第一篇文章下打印 Instagram 時間戳中的 href 鏈接。 上面的代碼由於某種原因沒有返回。 以下代碼供任何想要運行它並查看我可能哪里出錯的人使用,但我想要完成的總體目標是從 <-time> 標記中提取 href 鏈接。 下圖是 <-time> 標簽在開發者工具中的位置

在此處輸入圖像描述

from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium import webdriver

user = 'username'
passw = 'password'



driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.instagram.com/')
driver.implicitly_wait(10)

driver.find_element_by_name('username').send_keys(user)
driver.find_element_by_name('password').send_keys(passw)
Login = "//button[@type='submit']"
sleep(2)
driver.find_element_by_xpath(Login).submit()
sleep(1)
# Logs into Instagram
print ('Logged In')

#------------------------ATTENTION

NotNow = "//button[contains(text(),'Not Now')]"
driver.find_element_by_xpath(NotNow).click()
# Clicks Pop Up
print ('Close Pop Up')

# It's weird but the pop up opens once, only after this page.
# If ever a problem delete one, or have the first click be
# directed to your Instagram Profiles timeline

NotNow = "//button[contains(text(),'Not Now')]"
driver.find_element_by_xpath(NotNow).click()
#Clicks Pop Up; Comment out the line above if it causes an error
print ('Close Pop Up')

#-----------------------------------



driver.refresh()
print ('refreshing')
driver.implicitly_wait(10)
PostLinkExtraction = driver.find_element_by_xpath("//article[1]/div[3]/div[1]/div/div[2]/div[1][*[local-name()='a']]").get_attribute('href')
print (PostLinkExtraction)

我發現問題是因為您的 xpath。修復它,您將打印出第一篇文章的 href。

PostLinkExtraction = driver.find_element_by_xpath("//article[1]/div[3]/div[1]/div/div[2]/div[1]/a").get_attribute('href')
print (PostLinkExtraction)

結果:

在此處輸入圖像描述

簡短回答:停止堅持 xpaths 並以這種方式找到您要查找的元素:1 - 將所有具有相同標簽的元素放入一個數組中

2 - 搜索使其獨一無二的兩到三個屬性

3- 提取它在數組中循環並使用它

簡單、快速、干凈。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM