Прочитать список описаний в selenium python

Как я могу прочитать текст тега <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 есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
837
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Попробуйте реализовать приведенный ниже код, чтобы получить значения "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 [. = 'Commodity Code'] / following-sibling :: dd"). text) AttributeError: объект 'list' не имеет атрибута 'find_element_by_xpath'

Anupam Soni 31.07.2018 13:00

Ага, верно. Не заметил, что desc_list это список :) Чек обновлен

Andersson 31.07.2018 13:43

Чтобы извлечь / прочитать текст тега <dd>, который имеет дочерний тег <div>, например. S25-S2Z вы можете создать Список желаемых элементов, а затем распечатать текст внутри элементов, и вы можете использовать следующее решение:

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

Другие вопросы по теме