【发布时间】:2021-04-17 12:37:32
【问题描述】:
我正在尝试使用 selenium 获取表单的所有元素,但我似乎无法完成它。我需要在不写下表单中元素的 id 或类的情况下动态执行此操作,Selenium 应该检测表单并自动获取表单中存在的所有元素名称。
我面临的问题是表单使用的是动作而不是类。
driver = webdriver.Chrome()
driver.get("http://stevens.ekkel.ai")
#find all form input fields via form name
content = driver.find_element_by_class_name('form')
print(content)
【问题讨论】:
-
实际上没有以类名“form”开头的元素。您需要使用
driver.find_element_by_tag_name("form")。 -
指向页面的链接很有用,但 HTML 明天可能会改变,然后这个问题就没用了。您需要编辑您的问题并添加相关的 HTML,格式正确,并清楚您希望从页面中获得什么。具体一点,给出期望输出的例子。
-
@JeffC 我正在捕获屏幕截图并裁剪此网站上的文本、按钮和表单,我面临的唯一问题是我正在获取文本屏幕截图,但是为表单和按钮获取黑色屏幕截图为什么我需要获取该表单和按钮并获取它的屏幕截图。该表单可以通过 tag_name 访问,但它仍然没有截屏
-
您在谈论屏幕截图,但您的问题中没有提到这些。我现在更困惑了。您需要重写您的问题并明确说明 1)您正在尝试做什么(用文字而不是代码来描述),2)发布您当前的代码尝试并解释它的输出是什么,3)解释预期的输出是什么,然后 4) 发布相关的 HTML(作为文本,格式正确)。一旦你做了这些事情,我们就可以开始尝试帮助你了。
标签: python python-3.x selenium selenium-webdriver selenium-chromedriver