在html和python中获取的值

在html和python中获取的值,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,binary.com上的某个span图标具有以下html代码: <span id="spot" style="" data-value="3862.76" class="price_moved_down">3,862.76</span> 3862.76 其中数据值每2秒更改一次。我想在我的web自动化脚本中使用该数据值,但我不知道从哪里开始,请帮助。参考图片以理解 数字是元素的文本值。所以

binary.com上的某个span图标具有以下html代码:

<span id="spot" style="" data-value="3862.76" class="price_moved_down">3,862.76</span>
3862.76
其中数据值每2秒更改一次。我想在我的web自动化脚本中使用该数据值,但我不知道从哪里开始,请帮助。参考图片以理解


数字是元素的文本值。所以,一旦你发现元素使用硒

my_span = driver.find_element_by.....
您可以只调用元素上的text属性

print(my_span.text)

要打印文本3862.76,可以使用以下任一选项:

  • 使用
    css\u选择器
    get\u属性()

  • 使用
    xpath
    和文本属性:

    print(driver.find_element_by_xpath("//span[@class='price_moved_down' and @id='spot'][@data-value]").text)
    

理想情况下,要打印文本3862.76,您必须对位于()的元素的
可见性进行归纳,并且您可以使用以下任一选项:

  • 使用
    CSS\u选择器

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.price_moved_down#spot[data-value]"))).get_attribute("innerHTML"))
    
  • 使用
    XPATH

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='price_moved_down' and @id='spot'][@data-value]"))).text)
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
您可以在中找到相关的讨论


奥特罗 链接到有用的文档:

  • 方法
    获取元素的给定属性或属性。
  • 属性返回元素的文本。

  • Selenium是自动化的,但会创建一个新的浏览器窗口。为了得到这个值,请求或者靓汤可能更合适。这能回答你的问题吗?
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC