如何在<button>之间拉出数字

时间:2018-10-05 14:18:33

标签: python selenium web-scraping beautifulsoup

因此,我有一个与nike网页交互的python脚本,我尝试建立一种查找并单击鞋号的方法,但问题是,当我通过XPATH或CSS选择器查找时,元素会根据尺寸而变化可用。

例如:这是一只鞋子大小9.5的xpath

/ html / body / div [2] / div / div / div [2] / div / div / div / div / div / div [2] / div / div / div 1 / div {{3 }} / span / ul / li [8] /按钮

,另一双鞋的尺寸为9.5

/ html / body / div [2] / div / div / div [2] / div / div / div / div / div / div [2] / div / div / div 1 / div {{3 }} / span / ul / li [7] /按钮

XPATH元素是不同的,因为某些尺寸可用于一只鞋子,而其他尺寸则不行,这会导致元素位置发生变化。如何定位和拉动之间的鞋号本身?

谢谢!

1

1 个答案:

答案 0 :(得分:3)

您可以在XPath下方的所有页面上找到相同尺寸的按钮:

//button[@data-qa="size-dropdown" and .="9.5"]

您还可以将size作为变量传递:

size = 9.5
xpath = '//button[@data-qa="size-dropdown" and .="%s"]' % size

如果您需要提取所有可用尺寸:

sizes = [boot.text for boot in driver.find_elements_by_xpath('//button[@data-qa="size-dropdown"]')]