为了学习更多关于 Python、Selenium、Beautifulsoup 和一般网络抓取的知识,我开始了一个小型个人项目,该项目最终应该能够打开网页的主屏幕、导航到搜索字段、输入和搜索特定帐户数字。
目前,我已经成功地使用 Selenium 打开站点主页,然后导航到包含我需要填写的表单的页面。我通过使用 Chromes 开发人员工具复制我需要单击的区域的 xpath,然后将其输入 Selenium 的“查找元素”和“单击”功能来完成此操作。
我遇到的问题是,当输入我的代码时,我尝试单击的特定字段的 xpath 会吐出以下错误
Traceback (most recent call last):
File "C:/Users/WFrazierIII/PycharmProjects/Selenium Prcatice/Selenium Practice File.py", line 24, in <module>
driver.find_element_by_xpath('/html/body/form/table/tbody/tr[2]/td[2]/input').click()
File "C:\Users\WFrazierIII\PycharmProjects\Selenium Prcatice\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Users\WFrazierIII\PycharmProjects\Selenium Prcatice\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
File "C:\Users\WFrazierIII\PycharmProjects\Selenium Prcatice\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\WFrazierIII\PycharmProjects\Selenium Prcatice\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/form/table/tbody/tr[2]/td[2]/input"}
(Session info: chrome=83.0.4103.97)
Process finished with exit code 1
我的问题是,我应该努力为该字段找到合适的 xpath,还是应该尝试使用不同的“find_element”来更好地使我的代码工作。
最后,我要补充一点,我对 Python 或 Selenium 知之甚少,对 HTML 几乎一无所知(因此是蹩脚的入门项目),所以如果你认为有更好的方法来解决这个问题,那么我会喜欢这个指导。
谢谢!
翻过高山走不出你
阿波罗的战车
jeck猫
相关分类