python - Selenium 发现的网页表单数量是现有数量的两倍 - Python

标签 python forms selenium selenium-webdriver selenium-chromedriver

使用此网页: ximera

我正在尝试使用此行获取所有输入位置的列表:

answerBoxes = driver.find_elements_by_xpath("//form[@xmlns='http://www.w3.org/1999/xhtml']/div[1]/input[1]")

然后我将遍历它们并提交答案。但是,当我查看 answerBoxes 的长度时,它大约是 216,而当我在网页源上搜索表单标签时,它只返回 108 个项目(这与我必须的答案数量相匹配输入)。为什么会返回重复的表单对象?

最佳答案

您的 XPath 匹配额外的 input 字段。尝试更具体的 XPath 以仅选择所需的元素:

answerBoxes = driver.find_elements_by_xpath("//form[starts-with(@id, 'answer')]/div/input")
print(len(answerBoxes))
# 108

关于python - Selenium 发现的网页表单数量是现有数量的两倍 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913591/

相关文章:

python - 如何检查 Union[...] 中的任何参数是否在 python 中为 None?

javascript - 使用表单提交操作传递 $_GET 变量

php - Zend框架/表格: custom elements not shown on error

javascript - 输入 key 表单提交因 HTML5 日期输入而失败

javascript - WebDriver/Java中如何点击子元素

java - 如何通过 FirefoxProfile 启动 Mozilla 浏览 session ?

Python:从第二个列表开始删除一组列表的每个列表中的第一项

python - 使用 Nose testconfig 传递 URL 进行测试

selenium - 范围报告版本 5 现在是否可用?

python - 为什么初始化列表列表的代码显然将列表链接在一起?