Python Selenium提取td标签文本并填充到输入框相关问题咨询
问题1:提取td标签内文本的方法
你当前代码中verification_code是Selenium的WebElement对象,直接打印只会输出元素的对象信息,需要调用元素的text属性获取内部文本,修改打印代码即可:
# 原有定位元素的代码不变 print(verification_code.text)
如果页面中该元素被设置了隐藏属性导致text返回空,可以换成以下写法获取文本:
print(verification_code.get_attribute("innerText")) # 或者 print(verification_code.get_attribute("textContent"))
问题2:自动填入验证码到输入框的方法
你只需要先定位到目标输入框元素,再调用send_keys方法传入提取到的验证码文本即可,完整代码示例如下:
# 提取验证码文本 code = verification_code.text # 定位目标输入框,用显式等待保证元素加载完成 input_element = WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[1]/section/main/div/div/div[1]/div[2]/form/div/div[1]/input"))) # 清空输入框原有内容(可选,避免残留默认值影响输入) input_element.clear() # 填入验证码 input_element.send_keys(code)
额外优化建议
你当前使用的绝对路径XPath稳定性较差,后续页面结构稍有调整就会定位失败,有条件的话建议替换为带特征属性的相对XPath,比如验证码td元素可以用://td[contains(@style, 'font-size:32px')]
内容的提问来源于stack exchange,提问作者dasdasddas dsadasd
相关产品推荐
相关产品推荐

