【问题标题】:How can I pull the number between <button>我怎样才能拉出 <button> 之间的数字
【发布时间】:2018-10-05 22:28:56
【问题描述】:

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

例如:这是一只鞋的 9.5 码的 xpath

/html/body/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div1/div1/span /ul/li[8]/按钮

另一只鞋的尺码为 9.5

/html/body/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div1/div1/span /ul/li[7]/按钮

XPATH 元素是不同的,因为某些尺码适用于一只鞋,而其他尺码不适用,这导致元素位置发生变化。如何定位并拉动位于按钮>之间的鞋码编号本身?

谢谢!

【问题讨论】:

    标签: python selenium web-scraping beautifulsoup


    【解决方案1】:

    您可以在所有具有以下 XPath 的页面上找到相同大小的按钮:

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

    您也可以将大小作为变量传递:

    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"]')]
    

    【讨论】:

    • 哦,好吧,它会是这样的: size = driver.find_element_by_xpath('//button[@data-qa="size-dropdown" and .="9.5"]').click ()
    • size = driver.find_element_by_xpath('//button[@data-qa="size-dropdown" and .="9.5"]')size.click()
    • 每当我阅读您的任何答案时,我总是会学到一些新的@sir Andersson。这种用法对我来说很陌生。
    猜你喜欢
    • 2016-08-12
    • 1970-01-01
    • 2020-01-04
    • 2022-12-12
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多