Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为动态加载的类获取xpath选择器_Xpath_Scrapy - Fatal编程技术网

如何为动态加载的类获取xpath选择器

如何为动态加载的类获取xpath选择器,xpath,scrapy,Xpath,Scrapy,类名的一部分是动态加载的(ico部分是云状的)…我正在尝试获取这个只包含一部分的表单 源html <div data-ng-class="'icon-' + day.icon + '-' + theme" class="forecast-icon ico-partly-cloudy" xpath="1"></div> 我希望得到class属性的剩余部分,该部分会动态变化。上述方法当然不能做到这一点这会做到: response.xpath('//html[1]/body[

类名的一部分是动态加载的(ico部分是云状的)…我正在尝试获取这个只包含一部分的表单 源html

<div data-ng-class="'icon-' + day.icon + '-' + theme" class="forecast-icon ico-partly-cloudy" xpath="1"></div>
我希望得到class属性的剩余部分,该部分会动态变化。上述方法当然不能做到这一点

这会做到:

response.xpath('//html[1]/body[1]/div[1]/div[1]/div[3]/div[2]/div[1]/div[1]/@class').extract_first().split('forecast-icon ')[1]

对于仅使用xpath的更简单选项,请将xpath表达式更改为:

//div[@data-ng-class][contains(@class,"forecast-icon")]/substring-after(@class,"forecast-icon ")

你可以用css做这样的事情

response.css('.forecast-icon.ico-partly-cloudy').get()

现在,我不知道如何获取hte选择

如果它是动态加载的,则无法通过scrapy XPath获取它。尝试selenium或splash等工具。
response.css('.forecast-icon.ico-partly-cloudy').get()