如何从seleniumbase中的对象获取文本?

问题描述 投票:0回答:1

seleniumbase 启动浏览器,打开页面,然后在搜索框中输入查询。然后循环跟踪链接。然后在循环的每次迭代的每个链接中,尝试将 h3 从链接中拉出:

def rel_prods(url, one_data):
with SB(headed=True, uc=True) as driver:
    driver.open(url)
    time.sleep(26)
    driver.type('#header-search', one_data['title'])
    driver.click('button[data-auto="search-button"]')
    time.sleep(random.uniform(2, 6))
    elements = driver.find_elements('a[data-auto="snippet-link"]')
    i = 1
    for element in elements:
        try:
            h3_tag = element.get_text('h3')
            print(h3_tag)
            element.click()
            time.sleep(2)
            driver.switch_to_window(i)
            time.sleep(random.uniform(2, 6))
            driver.close()
            driver.switch_to_default_window()
        except Exception as e:
            print(e)

这就是错误出现的地方:

'WebElement' object has no attribute 'get_text'

谁知道如何实现这个?

driver.close() 命令也会完全关闭浏览器。我希望它只关闭当前选项卡

python selenium-webdriver seleniumbase
1个回答
0
投票

错误信息

'WebElement' object has no attribute 'get_text'

告诉您 WebElement 上没有方法

.get_text()
,例如

element.get_text('h3')

无效。

你想要的是

element.text
© www.soinside.com 2019 - 2024. All rights reserved.