首页 > 解决方案 > 如何根据用户输入抓取并单击按钮

问题描述

我正在制作一个应该与这个网站交互的 python 文件。我希望它根据用户输入的月份单击一个按钮(月份名称)。网页抓取是由 selenium chromedriver 完成的。我应该使用什么 python 行?

这是带有按钮和元素检查的网站页面

提前致谢

标签: pythonseleniumweb-scraping

解决方案


有多种方法可以做到这一点。这是我能想到的最简单的一个:

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 也很重要,因为这些文本也是大写的。

这不是最相关的方式,但这应该有效


推荐阅读