【发布时间】: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 不返回任何内容
【问题讨论】:
所以有一点像这样的html
<a class="" data-style-name="Black" data-style-id="16360" "true" data-description="null"<img width="32" height="32"
我想知道是否可以从中获取文本“Black”然后单击它,但是没有类名也循环通过并且 xpath 不返回任何内容
【问题讨论】:
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
【讨论】:
find_elements_by_xpath(注意“s”),它应该返回一个元素列表.所以你可以循环它并提取 all 值
你试过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")>
【讨论】: