如何使用Python + Selenium在JavaScript中获取href值

时间:2018-08-03 08:14:02

标签: python selenium

enter image description here

在上述HTML中,我想获取值"INC3000..."。 但是,如果我使用get_attribute(),则返回的值是None,因为它是在运行时在JavaScript中呈现的。

如何获取"href=javascript:" (INC30000004609 (New))的值?

1 个答案:

答案 0 :(得分:1)

您需要使用显式等待结果准备就绪。不等待就无法获得JS呈现的元素。无论是简单的请求,还是硒都不需等待。

wait = WebDriverWait(driver, 10)
element = wait.until(element_has_text(By.XPATH, '//a[contains(@class, "btn")]'))    
class element_has_text(object):

    def __init__(self, locator, css_class):
        self.locator = locator

    def __call__(self, driver):
        element = driver.find_element(*self.locator)   # Finding the referenced element
        if element.text:
            return element
        else:
            return False