【问题标题】:python selenium data-style-namepython selenium 数据样式名称
【发布时间】:2017-09-15 07:25:02
【问题描述】:

所以有一点像这样的html

<a class="" data-style-name="Black" data-style-id="16360" "true" data-description="null"<img width="32" height="32"

我想知道是否可以从中获取文本“Black”然后单击它,但是没有类名也循环通过并且 xpath 不返回任何内容

【问题讨论】:

    标签: python html css selenium


    【解决方案1】:

    data-style-name 被称为 a 元素的一个属性,“Black”是它的值。

    这是一种使用 selenium 和 python 访问属性值的方法:

    elements = driver.find_elements_by_xpath("//a[@data-style-name]")
    for element in elements:
        print element.get_attribute("data-style-name")
    

    如果您只想选择属性为 data-style-name 且值为“Black”的元素:

    driver.find_elements_by_xpath("//a[@data-style-name=Black]")
    

    关于 xpath 的更多信息:https://www.w3.org/TR/xpath/#section-Introduction

    【讨论】:

    • 什么是.getAttribute?我说这不是函数
    • 嘿,这只适用于其中一个框,我无法单击它们任何想法?
    • 你能把页面的 HTML 源代码粘贴到某个地方吗?或者给个链接?我不确定你在纠结什么。
    • 不知道我是否理解,但是如果您想在同一页面中解析多个项目,您可以使用find_elements_by_xpath(注意“s”),它应该返回一个元素列表.所以你可以循环它并提取 all
    • 啊,当然,应该想到这一点。谢谢
    【解决方案2】:

    你试过find_element_by_xpath()吗?

    a_check = browser.find_element_by_xpath("/html/body/a[@data-style-name='Black']")
    

    返回:

    <selenium.webdriver.remote.webelement.WebElement (session="6c94ac24e0ec3a3320ec21b24055f4fa", element="0.1043557711542944-1")>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2016-06-08
      • 2022-12-18
      相关资源
      最近更新 更多