首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助使用Selenium-Chromedriver和Python3,浏览器自动化

需要帮助使用Selenium-Chromedriver和Python3,浏览器自动化
EN

Stack Overflow用户
提问于 2021-05-30 04:00:40
回答 2查看 84关注 0票数 0

我想把每个商家的名字打印在这一页上。我试过这个:

代码语言:javascript
复制
browser.get('https://www.trovaprezzi.it/televisori-lcd-plasma/prezzi-scheda-prodotto/lg_oled_cx3?sort=prezzo_totale')

Names = browser.find_elements_by_xpath("//span[@class='merchant_name']")

for span in Names:
    
print(span.text)

但是,当我运行代码时,它打印出一个巨大的空格,没有任何单词。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-30 04:15:47

1您需要获取alt属性以获取卖家名称

2你需要使用等待。

3打印列表值时检查缩进。

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait


browser = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')

browser.get('https://www.trovaprezzi.it/televisori-lcd-plasma/prezzi-scheda-prodotto/lg_oled_cx3?sort=prezzo_totale')
wait = WebDriverWait(browser, 10)
wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, ".merchant_name_and_logo img")))


names = browser.find_elements_by_css_selector(".merchant_name_and_logo img")

for span in names:
    print(span.get_attribute("alt"))

打印:

代码语言:javascript
复制
Climaconvenienza
Shopdigit
eBay
ePrice
Onlinestore
Shoppyssimo
Prezzo forte
eBay
eBay
eBay
eBay
eBay
eBay
Yeppon
Showprice
Galagross
Sfera Ufficio
Climaconvenienza
Di Lella Shop
Shopdigit
票数 1
EN

Stack Overflow用户

发布于 2021-05-30 04:04:30

请尝试在那里获取“span.text”属性,而不是值

代码语言:javascript
复制
Names = browser.find_elements_by_xpath("//span[@class='merchant_name']")

for span in Names:
    
    print(span..get_attribute("value"))

另外,不要忘记之前添加了一些等待/延迟

代码语言:javascript
复制
Names = browser.find_elements_by_xpath("//span[@class='merchant_name']")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67755327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档