我试图从网站检索 EPSON 的 MFR 项目数。
from selenium import webdriver
driver = webdriver.Chrome( "C:\All\chromedriver_win32\chromedriver.exe" )
driver.get('https://shop.techdata.com/searchall?b=1&kw=printer')
items = driver.find_elements_by_class_name( 'productDetailsLink' )
for i, item in enumerate(items):
if 'EPSON' in item.text:
MFR= item.find_element_by_xpath( './/span[@class = "darkTxt"]')
print (i, item.text,MFR)
我正确检索到“i”,但仅用于 EPSON 产品的 MFR 出现问题,我无法检索 MFR。我收到一条错误消息,说在 MFR 中找不到元素。接下来我想转到下一页并在那里检索 EPSON 的 MFR。我不能这样做。
错误
Unable to locate element: {"method":"xpath","selector":".//span[@class = "darkTxt"]"}
我是新手,所以请帮助我!谢谢。
问题是您将链接作为父元素查找,如果您将看到 html 代码,则链接没有任何子元素。
您需要找到包含所有信息作为父元素的整个 Div。具有以下 HTML 代码
<div class="productResult js-productResult unpriced needsLogin">
以下代码片段只需对父元素进行一个小的更改即可。
driver.get('https://shop.techdata.com/searchall?b=1&kw=printer')
items = driver.find_elements_by_class_name('productResult')
for i, item in enumerate(items):
if 'EPSON' in item.text:
MFR = item.find_element_by_xpath('.//span[@class = "darkTxt"]')
print (i, item.text, MFR)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句