python - 如何根据用户输入抓取并单击按钮
问题描述
我正在制作一个应该与这个网站交互的 python 文件。我希望它根据用户输入的月份单击一个按钮(月份名称)。网页抓取是由 selenium chromedriver 完成的。我应该使用什么 python 行?
提前致谢
解决方案
有多种方法可以做到这一点。这是我能想到的最简单的一个:
from selenium import webdriver
driver = webdriver.Chrome(executable_path = '\\path\\to\\chromedriver.exe')
driver.get('https://www.yourwebsitehere.com')
month = input("Type Month, For e.g: jan for January \n>> ")
try:
month_elem = driver.find_element_by_xpath(" //div[text()=month.upper]")
month_elem.click()
except:
print("Element Not Found!")
让我们分解代码。
不要担心前几行,因为它们只是一个示例。你应该关注的是这条线
month_elem = driver.find_element_by_xpath(" //div[text()=month.upper]")
month_elem.click()
这会在其中搜索某些文本并单击它。这里它搜索的文本是用户输入的“月”。
注意:这里用户应该输入几个月的简短表格。例如:
- 一月一月
- 三月三月
- 十二月十二月
month.upper 也很重要,因为这些文本也是大写的。
这不是最相关的方式,但这应该有效
推荐阅读
- c# - Dapper INSERT/UPDATE CamelCase 到 Snake_Case 用于 70 多个属性模型
- java - 重构类后读取二进制数据
- android - 如何在键盘打开和键盘高度隐藏时平滑调整屏幕?
- javascript - 通过 github 页面托管时出现问题
- javascript - 打印时不显示可见的 Textarea 内容
- android - 如何在android中实现阴影(环境光)背景?
- ios - Swift 中的@dynamicCallable 是什么?
- c# - 使用 Aforge.Video.FFMPEG 创建单个 exe 不起作用 -Costura Fody c#
- javascript - 当我们打开一个弹出窗口时关闭另一个弹出窗口
- java - 我可以将 ElasticSearch 索引直接存储在文件系统中吗?