在html和python中获取的值
binary.com上的某个span图标具有以下html代码:在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自动化脚本中使用该数据值,但我不知道从哪里开始,请帮助。参考图片以理解 数字是元素的文本值。所以
<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