【问题标题】:Read Description list in selenium python阅读 selenium python 中的描述列表
【发布时间】:2018-07-31 10:53:16
【问题描述】:

如何读取<dd> 标签的文本,其中包含<dt>,如商品代码。

`<dl class="dl">
        <dt>Trading Screen Product Name</dt>
        <dd>Biodiesel Futures (balmo)</dd>
        <dt>Trading Screen Hub Name</dt>
        <dd>Soybean Oil Pen 1st Line</dd>
        <dt>Commodity Code</dt>
        <dd><div>S25-S2Z</div></dd>
        <dt>Contract Size</dt>
        <dd><div>100 metric tonnes (220,462 pounds)</div></dd>
</dl>` 


from selenium import webdriver
driver = webdriver.Chrome("C:\\Python36-32\\selenium\\webdriver\\chromedriver.exe")
link_list = ["http://www.theice.com/products/31500922","http://www.theice.com/products/243"]
driver.maximize_window()
for link in link_list:
    driver.get(link)
    desc_list = driver.find_elements_by_class_name("dl")

【问题讨论】:

    标签: python html django selenium


    【解决方案1】:

    尝试执行以下代码以获取"Commodity Code" 的值作为输出:

    for desc_list in driver.find_elements_by_class_name("dl"):
        print(desc_list.find_element_by_xpath("./dt[.='Commodity Code']/following-sibling::dd").text)
    

    【讨论】:

    • print(desc_list.find_element_by_xpath("./dt[.='商品代码']/following-sibling::dd").text) AttributeError: 'list' 对象没有属性 'find_element_by_xpath'
    • 是的,没错。我没有注意到 desc_list 是一个列表 :) 检查更新
    【解决方案2】:

    提取/读取具有子&lt;div&gt; 标记的&lt;dd&gt; 标记的文本,例如S25-S2Z您可以创建所需元素的List,然后在元素内打印文本,您可以使用以下解决方案:

    for element in driver.find_elements_by_xpath("//dl[@class='dl']//dd/div"):
        list_dd.get_attribute("innerHTML")
    

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 1970-01-01
      • 2022-12-07
      • 2016-04-25
      • 2013-09-19
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多