这是HTML。我想在python中使用selenium webdriver从第4行的元素中检索值Unblock。请帮我一下。
<a class="btn btn-micro hasTooltip"
href="javascript:void(0);"
onclick="return listItemTask('cb0','users.unblock')"
title="" data-original-title="Unblock">
<span class="icon-unpublish">
</span>
</a>
根据您共享的HTML,所需的元素是React元素,因此您必须引导WebDriverWait才能看到该元素,并且您可以使用以下任一解决方案:
CSS_SELECTOR
:
myText = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a.btn.btn-micro.hasTooltip[onclick*='users.unblock']"))).get_attribute("data-original-title")
XPATH
:
myText = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='btn btn-micro hasTooltip'][contains(@onclick,'users.unblock')]"))).get_attribute("data-original-title")
使用此代码
driver.findElement_by_xpath("//a[@class='btn btn-micro hasTooltip']").get_attribute("data-original-title");
如果要在元素中打印属性值,则必须使用getAttribute()
方法。您可以使用此代码,您可以将其转换为Python,就像在JAVA中一样
WebElement eletext= driver.findElement(By.xpath("//a[@class='btn btn-micro hasTooltip']"));
String textElement = eletext.getAttribute("data-original-title");
System.out.println(textElement);
区别:
getAttribute() - 它提取HTML标记中任何属性的文本。
getText() - 它提取WebElement的innerText。