如何从不同的类中收集信息。(硒,Python)

英雄家伙

我想从 ebay 等网站收集信息(名称)并将其附加到列表中。但我有一个问题。我的代码:

for a in driver.find_elements_by_id("scroll"):
    name = a.find_element(By.CLASS_NAME(".market-name.market-link")).getText()
    mylist.append(name)
print(mylist)

问题:

name = a.find_element(By.CLASS_NAME(".market-name.market-link")).getText() TypeError: 'str' 对象不可调用

怎么了?

Html 代码(我删除了不必要的东西,比如图片等):

<div class="featured-item col-sxs-12 col-xs-6 col-sm-6 col-md-4 col-lg-3 center-block app_730_2 item_17511241 has-wear scanned">
    <div>
        <a class="market-name market-link" href="=shop_view_item&amp;item=17511241">
        Happy
        </a>
        <div class="item-amount" onclick="showGraphFromId(17511241)">
        $0.04
        </div>
        <button class="btn btn-orange" type="button" onclick="addToCart(17511241, 730, 4)">
        Add to Cart
        </button>
    </div>
</div>
Buaban
  1. 您使用了不正确的 By。".market-name.market-link"是 CSS 选择器,而不是类名。所以,你可以通过改变解决这个问题By.CLASS_NAME,以By.CSS_SELECTOR
  2. By.CLASS_NAME是第一个参数,find_element它不是一个方法,它是一个值。第二个参数是一个表达式。

请参阅下面的代码。

try:
    name = WebDriverWait(browser, 15).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, ".market-name.market-link"))
    ).text
except:
    print("Can't find the text.")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章