簡體   English   中英

如何使用 python 中的 selenium 從 class 名稱中獲取值?

[英]How do I get a value from a class name using selenium in python?

我正在嘗試從 class 名稱中獲取一個值,但現在唯一可以得到的是 [] output。 那么,我應該在下面的代碼中做什么?

from selenium import webdriver
import time

options = webdriver.ChromeOptions()
options.add_argument('lang=pt-br')
driver = webdriver.Chrome(
    executable_path=r'./chromedriver.exe', options=options)
driver.get('https://economia.uol.com.br/cotacoes/cambio/')
time.sleep(5)
dolar = driver.find_elements_by_class_name('currency2')
time.sleep(5)
print(dolar)

您可以使用get_attribute檢索 web 元素的值,此外,在您的代碼中,您沒有 class 名稱為 currency2 的元素。

請找到以下示例:

<input class="field normal" name="currency2" value="5,59" data-audience-click="{&quot;reference&quot;:&quot;ativar-campo-texto&quot;,&quot;component&quot;:&quot;currency-converter&quot;}" xpath="1">

檢索值的代碼:

driver.get('https://economia.uol.com.br/cotacoes/cambio/')
currency = driver.find_element_by_name('currency2')
print currency.get_attribute("value")

Output::

5,59

您不需要selenium來獲取該信息,請嘗試:

import requests

u = "https://api.cotacoes.uol.com/currency/intraday/list/?format=JSON&fields=bidvalue,askvalue,maxbid,minbid,variationbid,variationpercentbid,openbidvalue,date&currency=1"
j = requests.get(u).json()
dolar = j['docs'][0]['bidvalue']
# 5.5916

演示


筆記:

  • 如果您需要其他信息,例如每日變化 ( variationpercentbid ) 搜索 json object:

在此處輸入圖像描述

  • 將 url 末尾的貨幣值更改為不同的貨幣,例如currency=5 ,將為您提供EUR值。

暫無
暫無

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

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