Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python selenium获取网页上所有表单的按钮?_Python_Selenium_Web Scraping_Mechanize - Fatal编程技术网

如何使用python selenium获取网页上所有表单的按钮?

如何使用python selenium获取网页上所有表单的按钮?,python,selenium,web-scraping,mechanize,Python,Selenium,Web Scraping,Mechanize,我在这里询问之前寻找答案,但没有得到足够的幸运。现在,我正在使用python selenium进行web抓取。在选择selenium之前,我检查了mechanize,scrapy,但我没有用它们执行一些按钮点击,然后我检查了selenium,它似乎对一些缺点没有问题。我之所以这么说是因为如果我选择了错误的工具,那么请在为时已晚之前纠正我 关于selenium,我的问题是如何使用xpath获取网页上的所有元素。在每个网页上我都有10张表格,每个表格都有一个按钮。所以我想让网页上的所有表单在它们上面

我在这里询问之前寻找答案,但没有得到足够的幸运。现在,我正在使用python selenium进行web抓取。在选择selenium之前,我检查了mechanize,scrapy,但我没有用它们执行一些按钮点击,然后我检查了selenium,它似乎对一些缺点没有问题。我之所以这么说是因为如果我选择了错误的工具,那么请在为时已晚之前纠正我

关于selenium,我的问题是如何使用xpath获取网页上的所有元素。在每个网页上我都有10张表格,每个表格都有一个按钮。所以我想让网页上的所有表单在它们上面循环,然后逐个单击按钮

例如:


您可以通过xpath获取表单按钮,代码如下:

buttons = driver.find_elements_by_xpath(".//form//input[@type='button']")
并通过简单for循环对其进行迭代:

for button in buttons:
    button.click() 
或者,您可以使用函数获取元素:

buttons = driver.find_elements_by_css_selector("input[type='button']")

您可以通过xpath获取表单按钮,代码如下:

buttons = driver.find_elements_by_xpath(".//form//input[@type='button']")
并通过简单for循环对其进行迭代:

for button in buttons:
    button.click() 
或者,您可以使用函数获取元素:

buttons = driver.find_elements_by_css_selector("input[type='button']")

我试过了,但我已经不行了。编辑代码以添加我的脚本按钮中的按钮出现错误:TypeError:“WebElement”对象不存在iterable@StackUP它需要使用xpath吗?对不起,可能是我没有理解你的意思。我们有其他方法在每个表单上获取提交按钮吗?@StackUP是的,您可以使用
驱动程序。通过css\u选择器('input[type=button]
)查找元素,`函数获取所有元素buttons@StackUP所以,你必须再次通过css选择器获取按钮,然后单击下一个按钮,就像按钮[index]。单击我已经尝试过了,但对我来说不起作用。编辑代码以添加我的脚本按钮中的按钮出现错误:TypeError:“WebElement”对象不存在iterable@StackUP它需要使用xpath吗?对不起,可能是我没有理解你的意思。我们有其他方法在每个表单上获取提交按钮吗?@StackUP是的,您可以使用
驱动程序。通过css\u选择器('input[type=button]
)查找元素,`函数获取所有元素buttons@StackUP因此,您必须再次通过css选择器获取按钮,然后单击下一个按钮,如按钮[index]。单击