这是HTML。我想使用python中的Selenium Webdriver从第四行的元素中检索值 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>
答案 0 :(得分:0)
使用此代码
driver.findElement_by_xpath("//a[@class='btn btn-micro hasTooltip']").get_attribute("data-original-title");
答案 1 :(得分:0)
如果要在元素中打印属性值,则必须使用getAttribute()
方法。您可以使用此代码,可以像在JAVA中一样将其转换为Python
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。
答案 2 :(得分:0)
根据 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")