亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python Selenium 打印列表中的某些元素

使用 Python Selenium 打印列表中的某些元素

繁花如伊 2023-06-27 16:17:24
我正在嘗試使用 Python 和 Selenium 為 Linkedin 構建一個網絡爬蟲。我正在嘗試打印標題,但輸出僅顯示一個空列表,我不知道為什么。我嘗試打印列表中的所有元素并使用 items.text.replace() 替換常見輸出,但是,輸出仍然是所有元素。我也嘗試過打印父 div,但輸出仍然是一個空列表。這是我寫的代碼:#searchdriver.find_element_by_xpath("//*[@id='ember16']/input").send_keys("Steve Jobs")driver.find_element_by_xpath("//*[@id='ember16']/input").send_keys(Keys.RETURN)driver.implicitly_wait(3)#result countresultCount = driver.find_element_by_xpath("//*[@id='ember64']/div/h3")print("\n" + str(resultCount.text))#printingresults = driver.find_elements_by_xpath('//*[@id="ember64"]/div/ul')for items in results:    print(str(driver.find_elements_by_xpath('//*[@id="ember552"]/div/div[2]/p[1]'))+"\n")這是輸出:About 43,000 results[]Process finished with exit code 0無論如何,在迭代列表時是否可以指定要打印的元素?編輯:這是此代碼的最小可重現示例:# search urlurl = 'https://www.linkedin.com/search/results/people/?keywords=Steve%20Jobs&origin=GLOBAL_SEARCH_HEADER'driver.get(url)# print job titleresults = driver.find_elements_by_xpath('//*[@id="ember64"]/div/ul')for items in results:    print(driver.find_elements_by_xpath('//*[@id="ember552"]/div/div[2]/p[1]')) 這是輸出:[]Process finished with exit code 0
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

試試這個 xpath:

results?=?WebDriverWait(driver,?10).until(
????EC.presence_of_all_elements_located((By.XPATH,"http://*[contains(@class,'search-results__list?list-style-none')]/li")))

對于標題,您可以使用下面的 xpath 以及 gettext()

//*[contains(@class,'subline-level-1?t-14')]

xpath 中使用 Contains() 來查找包含部分文本的 Web 元素。顯式等待可以在許多條件下使用,我在上面使用了其中之一。在查找任何 Web 元素之前使用 wait 是一種很好的做法。

向我顯示所有列表:

http://img1.sycdn.imooc.com/649a9b44000127a506520495.jpg

查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 453 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號