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

如何从不断变化并连接到数据库的网站获取值?

逄岳
2023-03-14

我正在使用pythonselenium和其他根据我需要的软件包。我正在创建GUI(图形用户界面),它将显示通过大门的总人数。我们已经有了直接向特定网站报告的硬件,该网站是用php编写的,数据库是sqlmariadb

<span class="info-box-number f28 fc-666" id="tot_count">11</span>

这是代码的示例,我想从这里捕获'11'。我尝试用'id'、'class'和'xpath'来捕获. text,但是到目前为止我还没有找到解决方案。我提到了其他一些问题,但没有帮助我。

  • 所以,我们的想法是创建GUI界面,它每秒钟更新一次,并显示通过的人数。我确实需要用它来获取一些其他值,这些值的格式类似,同样的数据库具有不同的类、id和xpath

注意:我要捕获的所有类和ID都是唯一的。

我愿意接受建议,如果有人有更好的主意,你的建议将不胜感激。


共有1个答案

令狐珂
2023-03-14

要打印文本11,可以使用以下任一定位器策略:

>

  • 使用class_nameget_attribute("text Content")

    print(driver.find_element_by_class_name("info-box-number").get_attribute("textContent"))
    

    使用css\u选择器get\u属性(“innerHTML”)

    print(driver.find_element_by_css_selector("span.info-box-number#tot_count").get_attribute("innerHTML"))
    

    使用xpath和文本属性:

    print(driver.find_element_by_xpath("//span[contains(., 'info-box-number') and @id='tot_count']").text)
    

    理想情况下,您需要为位于()的元素的可见性引入WebDriverWait,并且您可以使用以下任一定位器策略:

    >

  • 使用CLASS\u NAMEget\u属性(“textContent”)

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CLASS_NAME, "info-box-number"))).get_attribute("textContent"))
    

    使用CSS_SELECTOR和文本属性:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.info-box-number#tot_count"))).text)
    

    使用XPATHget\u attribute()

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[contains(., 'info-box-number') and @id='tot_count']"))).get_attribute("innerHTML"))
    

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

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

    您可以找到有关如何使用Selenium-Python检索WebElement文本的相关讨论

    链接到有用的文档:

    • get\u attribute()method获取元素的给定属性或属性

  •  类似资料:
    • 本文向大家介绍JDBC如何获取数据库连接,包括了JDBC如何获取数据库连接的使用技巧和注意事项,需要的朋友参考一下 JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行交互。 JDBC驱动的方式有很多种,我们常用的驱动方式为:本地协议的纯Java驱动程序。 JDBC编程的第一步,就是要获取数据库连接。所谓的 “

    • 我正在使用XAMPP。我试图在网页上转储我的db_数据。错误消息是“调用未定义的函数mysql\u connect”。我应该导入一些文件吗? 或者我应该在代码中进行更改??

    • 我已经用SQL Server Management Studio创建了一个数据库,现在我想在我的C#应用程序中使用它。我需要连接字符串? 如何发布数据库,以便Visual Studio可以获取它?然后我就可以拉出那里的连接字符串了?

    • 我是拉威尔的新手,目前正在拉威尔的一个项目中工作。 当我在我的文件中使用'php工匠服务'来检查它是否工作/localhost,我得到了这个错误: (1/1)HttpException数据库连接失败! 在应用中。php第1014行 应用时- 在ScriptMint中中止时('399','数据库连接失败!')。php第31行 在ScriptMint- 在管道上- at XSP保护- 在管道上- 在T

    • 问题内容: 我正在尝试从iPhone连接到远程mysql数据库。我搜索了许多网站,但没有找到任何帮助。如果有人为此工作,请发送解决方案。 问题答案: 假设您具有服务器端编程(例如PHP或Rails)的经验,则可以仅从URL内容创建NSArray,在其中建立与MySQL服务器的连接并以ASCII或XML格式打印所需的结果。 对帮助格式化服务器页面打印的结果也很有用:http : //develope