【问题标题】:Find Element By 2 Tag in a Div在 div 中通过 2 个标签查找元素
【发布时间】:2022-02-08 21:41:29
【问题描述】:

我想找到价值,但价值总是在变化。 name="customerNum" 是唯一的。所以我想使用那个 2 标签。但是当我尝试时,我得到了错误。用“and”来使用这2个标签的方法是什么。

<div class="gtstep-input-inner">
  <input name="customerNum" type="text">
  <input type="hidden" value="638367795">
</div>

【问题讨论】:

  • 我想像 //div(//input[@name='customerNum'] 和 //input[@type="hidden"]) 这样使用。但它没有用。
  • 2 Tag 是什么意思?你到底想要哪个元素?如果您正在寻找type=hidden,那么这对我有用://input[@type='hidden'];同样,如果您正在寻找name=customerNum,那么这对我有用://input[@name='customerNum']。如果你想用input获取所有元素,你可以使用//input这给你2个元素,然后你可以用for循环遍历每个元素。
  • @AnandGautam 我想获得价值标签。值="638367795"。但价值总是在变化。

标签: html json selenium tags getelementbyid


【解决方案1】:
x = driver.find_element(By.XPATH, "//input[@type='hidden']").get_attribute('value')
print(x)

输出:

638367795

Process finished with exit code 0

正如你所说的值发生变化,它会在那个时间点(执行该行时)获取值

如果您只想获取该元素而不是其中的值,请使用:

driver.find_element(By.XPATH, "//input[@type='hidden']")

根据您查询中的 html,这可以获取具有 value 属性的输入元素,即第二个输入元素

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多