新手区 selenium 的 submit 遇到问题。同样的代码在 a 页面奏效,在 b 页面报错。求解。

棉花球 · 2020年11月19日 · 最后由 棉花球 回复于 2020年11月19日 · 2124 次阅读


from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('kw').submit()
driver.quit()

driver = webdriver.Chrome()
driver.get("http://news.baidu.com/")
driver.find_element_by_id("ww").send_keys("submit 的用法") # 这一步可以成功定位到输入框输入
print("ok1")
driver.find_element_by_id("ww").submit() # 这一步报错
print("ok2")
driver.quit()

最佳回复

submit() 的具体用法我忘记了,但我猜测是应该和搜索框类型有关


从上面两张图大致可以看出:
百度首页的搜索框是个 form 表单,使用 submit() 方法应该没问题
百度新闻的搜索框是个 table 表格,应该是不支持使用 submit() 方法的

共收到 3 条回复 时间 点赞

submit() 的具体用法我忘记了,但我猜测是应该和搜索框类型有关


从上面两张图大致可以看出:
百度首页的搜索框是个 form 表单,使用 submit() 方法应该没问题
百度新闻的搜索框是个 table 表格,应该是不支持使用 submit() 方法的

你看看你第二个页面是不是套了一个 frame,如果页面套了一个 frame 要先定位到这个 frame 上,通过 switch_to_frame 方法

棉花球 · #3 · 2020年11月19日 Author
仅楼主可见
棉花球 关闭了讨论 11月19日 16:23
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册