网页抓取网站时无法获取文本

时间:2021-05-16 21:02:54

标签: python selenium selenium-chromedriver

我正在尝试获取网站上显示 Avvisami 的部分:https://www.nike.com/it/launch/t/womens-air-jordan-3-sp-a-ma-maniere 在我的代码中显示为字符串。每次我尝试任何事情都不起作用。这是代码的一部分:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

options = webdriver.ChromeOptions() 

options.add_argument(r'--user-data-dir=C:\Users\mainuser\AppData\Local\Google\Chrome\User Data')
options.add_argument('--profile-directory=Profile 1')

driver = webdriver.Chrome(options = options)
driver.get('https://www.nike.com/it/launch/t/womens-air-jordan-3-sp-a-ma-maniere')

instock = (driver.find_elements_by_class_name('ncss-btn-primary-dark  btn-lg'))

print(instock)

在这一点上,这是我认为我需要改变的部分:

instock = (driver.find_elements_by_class_name('ncss-btn-primary-dark  btn-lg'))

print(in stock)

我已经尝试修复它一个小时左右,但我就是不知道如何解决。

2 个答案:

答案 0 :(得分:1)

instock = driver.find_element_by_css_selector(".ncss-btn-primary-dark.btn-lg").text
print(instock)

多个类名应该与 css 选择器一起使用,并且只需使用 .text 来获取文本,然后将其放入您的变量中。

答案 1 :(得分:0)

您正在尝试从元素列表中获取文本。迭代它并使用 .text:

elems = driver.find_elements_by_css_selector(".ncss-btn-primary-dark.btn-lg")
for el in elems:
    print(el.text)

所有这些元素都是按钮。