如何使用硒获取标签元素的for属性
How to get the for attribute of label element using selenium
我是第一次尝试使用 Python,正在研究 Selenium。
目标是获取输入元素的 ID。
我正在尝试使用为 Input 元素生成随机 ID 的页面。因此无法通过 ID 寻址该元素。我怎么发现元素有标签,标签上写着 For=""
碰巧标签也没有其他属性。
页面如下所示
<div class="form-input">
<label for="labeled-input-Asrf3PAYKRKRY1veHroMKxyxf">First Name</label>
<input type="text" id="labeled-input-Asrf3PAYKRKRY1veHroMKxyxf" name="Asrf3PAYKRKRY1veHroMKxyxf" maxlength="79" class="" value="">
</div>
<div class="form-input">
<label for="labeled-input-7Hgp_pSJn3iqZ3T_eRwBX5I5n">Last Name</label
<input type="text" id="labeled-input-7Hgp_pSJn3iqZ3T_eRwBX5I5n" name="7Hgp_pSJn3iqZ3T_eRwBX5I5n" maxlength="79" class="" value="">
</div>
这是我到目前为止所管理的内容:
FName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'First Name')]//ancestor::div//input").get_attribute("id"))
print("FName_ID",FName_ID)
LName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'Last Name')]//ancestor::div//input").get_attribute("id"))
print("LName_ID",LName_ID)
打印输出如下所示:
FName_ID labeled-input-Asrf3PAYKRKRY1veHroMKxyxf
LName_ID labeled-input-Asrf3PAYKRKRY1veHroMKxyxf
我无法弄清楚这里缺少什么。感谢所有帮助。
谢谢
请试试这个:
FName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'First Name')]/..//input").get_attribute("id"))
print("FName_ID",FName_ID)
LName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'Last Name')]/..//input").get_attribute("id"))
print("LName_ID",LName_ID)
我是第一次尝试使用 Python,正在研究 Selenium。
目标是获取输入元素的 ID。
我正在尝试使用为 Input 元素生成随机 ID 的页面。因此无法通过 ID 寻址该元素。我怎么发现元素有标签,标签上写着 For="
碰巧标签也没有其他属性。
页面如下所示
<div class="form-input">
<label for="labeled-input-Asrf3PAYKRKRY1veHroMKxyxf">First Name</label>
<input type="text" id="labeled-input-Asrf3PAYKRKRY1veHroMKxyxf" name="Asrf3PAYKRKRY1veHroMKxyxf" maxlength="79" class="" value="">
</div>
<div class="form-input">
<label for="labeled-input-7Hgp_pSJn3iqZ3T_eRwBX5I5n">Last Name</label
<input type="text" id="labeled-input-7Hgp_pSJn3iqZ3T_eRwBX5I5n" name="7Hgp_pSJn3iqZ3T_eRwBX5I5n" maxlength="79" class="" value="">
</div>
这是我到目前为止所管理的内容:
FName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'First Name')]//ancestor::div//input").get_attribute("id"))
print("FName_ID",FName_ID)
LName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'Last Name')]//ancestor::div//input").get_attribute("id"))
print("LName_ID",LName_ID)
打印输出如下所示:
FName_ID labeled-input-Asrf3PAYKRKRY1veHroMKxyxf
LName_ID labeled-input-Asrf3PAYKRKRY1veHroMKxyxf
我无法弄清楚这里缺少什么。感谢所有帮助。
谢谢
请试试这个:
FName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'First Name')]/..//input").get_attribute("id"))
print("FName_ID",FName_ID)
LName_ID = (driver.find_element_by_xpath("//label[contains(text(), 'Last Name')]/..//input").get_attribute("id"))
print("LName_ID",LName_ID)