首页 > 解决方案 > 如何使用自动填充字段提取表单数据(使用python+selenium+chrom webdriver)

问题描述

我正在使用 selenium 和 web 驱动程序在 python 中工作

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

path="E:\Allah Kareem HelpmeGuid me\chromedriver.exe"
driver= webdriver.Chrome(path)
driver.get("https://lsg3.nlm.nih.gov/webapps/WebTc.2011/jsp/jdi/vJdi.jsp")

search=driver.find_element_by_name('IN_TERM ')
print(search)
search.send_keys("Glutathione S-transferase-dependent"+Keys.ENTER)
search.send_keys(Keys.RETURN)

driver.quit()

但我得到了错误

回溯(最后一次调用):文件“E:\Guide_me\selenum.py”,第 9 行,在 search=driver.find_element_by_name('IN_TERM ') 文件“E:\Allah Kareem HelpmeGuid me\lib\site-packages\ selenium\webdriver\remote\webdriver.py”,第 496 行,在 find_element_by_name 中返回 self.find_element(by=By.NAME, value=name) 文件“E:\Allah Kareem HelpmeGuid me\lib\site-packages\selenium\webdriver \remote\webdriver.py",第 978 行,在 find_element 'value': value})['value'] 文件“E:\Allah Kareem HelpmeGuid me\lib\site-packages\selenium\webdriver\remote\webdriver.py ”,第 321 行,在执行 self.error_handler.check_response(response) 文件“E:\Allah Kareem HelpmeGuid me\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response 中引发 exception_class(消息,屏幕,stacktrace)selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“[name =”IN_TERM“]”}(会话信息:chrome =86.0.4240.75)

请检查我的代码和错误输入网页只包含一个输入,然后 GO 将执行,结果将出现在文本区域提前谢谢

标签: pythonseleniumselenium-webdriver

解决方案


您在元素名称的末尾添加了一个额外的空格。更改此行:

search=driver.find_element_by_name('IN_TERM ')

对此:

search=driver.find_element_by_name('IN_TERM')

推荐阅读