簡體   English   中英

Python | 硒| 繼續輸出頁面源,而不是我手動檢查元素時看到的內容

[英]Python | Selenium | Keeps outputting page source rather than what I see when I manually inspect element

我希望打印出我手動檢查頁面時看到的內容。 但是,似乎正在打印頁面源代碼,因為手動檢查時找不到那里的元素。

我正在嘗試獲取美國銀行信用卡的產品名稱。

我使用Selenium是因為bankofamerica網站上的產品名稱是通過Javascript生成的。 一旦知道要解析正確的元素,便計划通過搜索類來查找卡名和其他相關元素。

我相信我已經正確安裝了Firefox Web驅動程序,因為該代碼將瀏覽器窗口打開到正確的頁面。

import requests
from bs4 import BeautifulSoup
from selenium import webdriver

browser = webdriver.Firefox()
browser.get('https://www.bankofamerica.com/credit-cards/#filter')
html = browser.execute_script("return document.documentElement.outerHTML")

sel_soup = BeautifulSoup(html,'html.parser')
print (sel_soup)

使用硒嘗試下面的代碼。

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Firefox()
browser.get('https://www.bankofamerica.com/credit-cards/#filter')
# wait until the `.small-12.medium-9.columns` class elements present
WebDriverWait(browser,5).until(EC.presence_of_element_located((By.CSS_SELECTOR,'.small-12.medium-9.columns')))
# get all the elements with matching class
creditCardOptions = browser.find_elements_by_css_selector('.small-12.medium-9.columns')
# now you can have your own logic to iterate through all the CC options.

暫無
暫無

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

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