试图在web上从此页面https://www.digikey.com/en/products/filter/dc-dc-converters/922?s=N4IgjCBcpgnAHLKoDGUBmBDANgZwKYA0IA9lANogAMIAusQA4AuUIAykwE4CWAdgOYgAvkOIBWZCAZQwjaZDBUqIoA中刮取产品计数
我目前的代码是:
from bs4 import BeautifulSoup
import time
url= 'https://www.digikey.com/en/products/filter/dc-dc-converters/922?s=N4IgjCBcpgnAHLKoDGUBmBDANgZwKYA0IA9lANogAMIAusQA4AuUIAykwE4CWAdgOYgAvkOIBWZCAZQwjaZDBUqIoA'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
time.sleep(10)
content = soup.find('span', attrs={'data-testid': 'static-product-count'})
print(content.text)html部分是
<span data-testid="static-product-count" class="jss68">248,154 </span>然而,我的代码正在返回一个空输出,几周前当html部分出现时,相同的代码会正常工作(但是我想知道这有什么区别吗?)有人能帮我解释一下吗?)谢谢!
<span class="jss82" data-testid="product-count">1604</span>发布于 2022-08-03 21:29:25
要使用Selenium提取文本248,154,您需要为https://stackoverflow.com/a/50474905/7429447诱导WebDriverWait,您可以使用以下任何一个https://stackoverflow.com/a/48056120/7429447
data-testid属性:
(“get”,{'url':‘20).until(EC.element_to_be_clickable((By.XPATH,,https://www.digikey.com/en/products/filter/dc-dc-converters/922?s=N4IgjCBcpgnAHLKoDGUBmBDANgZwKYA0IA9lANogAMIAusQA4AuUIAykwE4CWAdgOYgAvkOIBWZCAZQwjaZDBUqIoA'}’)WebDriverWait(https://www.digikey.com/en/products/filter/dc-dc-converters/922?s=N4IgjCBcpgnAHLKoDGUBmBDANgZwKYA0IA9lANogAMIAusQA4AuUIAykwE4CWAdgOYgAvkOIBWZCAZQwjaZDBUqIoA'})WebDriverWait//span@class=‘按钮-桌面’和@track-data=‘ref_page_event=ref_page_event’)).click().click()print(WebDriverWait,driver,20).until(EC.visibility_of_element_located((By.XPATH,"//span@data-testid='static-product-count'"))).text) )您可以在如何使用Selenium - Python检索WebElement的文本中找到相关的讨论
https://stackoverflow.com/questions/73227637
复制相似问题