当前位置: 首页 > 知识库问答 >
问题:

使用Selenium和Python从动态网站获取元素值[duplicate]

宋飞文
2023-03-14

我试图直接从交易平台plus500获得AMZN指数市场的销售价格值,该值持续变化,因此我必须使用selenium。我用的代码是这个:

driver.get("https://app.plus500.com/trade/amazon")
# get AMZN vending price
Sell = driver.find_elements(By.CLASS_NAME, value="sell")
print(Sell)

源代码中的html如下:

<div class="sell" data-no-trading="false" id="_win_plus500_bind873" data-show="true">126.28</div>

每次值发生变化时,我都需要清除它(在本例中是126,28)。如果需要,我为你创建了一个虚拟的Plus500账户:用户名“myrandomcode@gmail.com”,密码:“MyRandomCode87”。

共有1个答案

梁丘波鸿
2023-03-14

要直接从交易平台plus500(即文本126.28)中提取AMZN指数市场的自动售货价格的价值,因为该元素是一个动态元素,您需要诱导WebDriver等待visibility_of_element_located(),并且您可以使用以下任一定位器策略:

>

  • 使用XPATH:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[starts-with(@class, 'section-table-body')]//span[text()='Amazon']//following::div[2]"))).text)
    

    注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    您可以在如何使用硒 - Python检索Web元素的文本中找到相关讨论

  •  类似资料:
    • 问题内容: 在网站上,有在标顶部的几个环节,,,和。如果按下以数字标记的链接,它将动态地将一些数据加载到content中。如果被按下,它会用标签页,,,和第4页中的数据显示。 我想从按下的所有链接的内容中抓取数据(我不知道有多少,一次只显示3个,然后) 请举一个例子。例如,考虑网站www.cnet.com。 请指导我下载使用selenium的一系列页面,并自行解析它们以处理漂亮的汤。 问题答案:

    • 问题内容: 我正在尝试使用jquery和Selenium IDe 1.0.8获取元素。 在日志中我得到 当我把这个命令放到萤火虫中时,我得到了这个元素:/ 为什么不起作用? 编辑:例如,您也可以给我代码如何在stackoverflow主页上获取带有JAVA标签的第一个对象的ID。 标签: 和示例结果来自: 是: 问题答案: 根据其他帖子,我尝试了以下操作,并且有效。 将以下代码添加到user-ex

    • 我刚刚开始学习python。所以在这一章中,基本上是使用硒创建一个价格跟踪器。 下面的照片是我使用selenium试图获得的。 截图 如果我尝试 它显示了红海的线条,没有布赫的信息:没有这样的元素 然后我试着 输出为: 我真的是编程新手...所以我试着在最后使用. text,运气不好! 我怎么做才能得到价格?

    • 我在Python(3.6.3)代码中得到了这个HTML元素(当然作为Selenium webelement): 很明显,我不能使用,因为我不知道属性的名称...

    • 问题内容: 我正在使用Python创建Eve Online API的GUI前端。 我已经成功地从他们的服务器中提取了XML数据。 我正在尝试从名为“名称”的节点获取值: 这似乎找到了节点,但是输出如下: 如何获取它以打印节点的值? 问题答案: 应该只是

    • 我正在尝试使用Powershell和Selenium在chrome浏览器中自动单击。到目前为止,我已经成功地单击了下面的html文件示例主体中的元素。 HTML Powershell 使用上面的脚本将单击select元素中的第三个选项(在本例中为“Mercedes”)。 然而,我正在努力操纵阴影根中的元素,我似乎无法访问其中的任何元素,更糟糕的是,我要单击的元素位于子阴影根中,如下图所示: 上述图