在运行pythonselenium时,获取span id标记中的字符串

pkwftd7m  于 2023-03-24  发布在  Python
关注(0)|答案(2)|浏览(115)

我想从元素中提取单词“In stock”。标签看起来像这样:

<span id="quantitySpan">" in stock" <img class="quantitySpanImg" src="https://d3m9l0v76dty0.cloudfront.net/system/photos/436808/original/34f362ca4ecee94ab2262e159a8ce432.jpg?1588592491"> <-span>

我尝试使用以下方法获取字符串:

driver.find_element(By.ID, "quantitySpan")

但是不起作用。我试着用XPath,但是我仍然没有得到字符串。

driver.find_element(By.XPATH,"/html/body/div[4]/div[2]/div/form/div[2]/div[1]/div[2]/div[2]/span")
z5btuh9x

z5btuh9x1#

试试这个,可能有用

print(driver.find_element(By.CSS_SELECTOR, 'span[id="quantitySpan"]').text)
pdsfdshx

pdsfdshx2#

你的定位器看起来很好,但我不知道你在哪里使用.text从元素中获取文本,例如。

s = driver.find_element(By.ID, "quantitySpan").text
print(s)

这可能是一个时间问题。你可以写一些代码来等待,直到文本不是空字符串,例如。

def wait_for_text(locator)
    while driver.find_element(locator).text == ""
        time.sleep(0.5)
    return driver.find_element(locator).text

然后你说

s = wait_for_text((By.ID, "quantitySpan"))
print(s)

相关问题