我试图从网站上检索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)
我找回了“我”。正确但只有EPS管产品的MFR出错了,我无法检索MFR。我收到一个错误,说MFR中没有找到任何元素。接下来我想转到下一页并检索EPSON的MFR。我不能这样做。
错误
Unable to locate element: {"method":"xpath","selector":".//span[@class = "darkTxt"]"}
我是新手所以请帮助我! 谢谢。
答案 0 :(得分:0)
你可以试试这个,
add_filter('xmlrpc_blog_options', function($blog_options)
{
$blog_options['blog_url']['readonly'] = false;
return $blog_options;
});
答案 1 :(得分:0)
问题是你发现链接是一个父元素,如果你看到html代码,Link没有任何子元素。
您需要找到包含所有信息的整个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)
答案 2 :(得分:0)
在Chromium上进行测试,但它在我看来只是一个错字,在find_element_by_xpath
的路径上没有起始点:
MFR= item.find_element_by_xpath('//span[@class = "darkTxt"]')
print (i, item.text, MFR)