当前位置: 首页 > 面试题库 >

Python和Selenium-如何找到页面上的所有元素ID?

终睿
2023-03-14
问题内容

我知道我可以使用以下方法:

find_elements_by_tag_name()
find_elements_by_id()
find_elements_by_css_selector()
find_elements_by_xpath()

但是我想做的就是简单地获取页面中存在的所有元素ID的列表,也许还有它们出现的标记类型。

我该怎么做?


问题答案:

以前不必这样做,但是可以从逻辑上考虑一下,您可以使用XPath来做到这一点(也许是其他方式,XPath是出现在我脑海中的第一件事)。

使用find_elements_by_xpathXPath //*[@id](具有某种ID的 任何 元素)使用。

然后,您可以遍历集合,并使用.tag_name每个元素的属性来找出元素的 种类 以及get_attribute("id")获取该元素的ID
的方法/函数

注意:这可能会很慢。毕竟,您需要 很多 信息。



 类似资料:
  • 我对在Selenium中使用python还很陌生。

  • 问题内容: 在Python Selenium模块中,一旦有了对象,我可以使用以下命令获取其任何属性的值: 如果命名的属性不存在,则返回。 我的问题是,如何获取元素具有的所有属性的列表?似乎没有或方法。 我正在为Python使用Selenium模块的2.44.0版本。 问题答案: 这是 不可能的 使用硒webdriver的API,但你可以_执行JavaScript代码_来获取所有属性: 演示: 为了

  • 我试图使用Selenium和Python自动化一些测试。我使用Selenium IDE创建了一个套件,它工作得很好。 我现在试图在Python脚本中重新创建这个套件,但遇到了一个问题。 使用XPATH代替ID 使用隐式等待 使用从IDE导出到Python生成的函数 使用WebDriverWait 以下是IDE中的html定义: 使用隐式等待的Python脚本。所有工作都很好,直到最后一行中的冒犯元

  • 我正在尝试用Selenium WebDriver、Java、Junit和Cucumber BDD来自动化一个航空公司的web应用程序。我能够创建一个简单的场景,比如选择一个带有出发日期的单程航班,然后选择一个座位,然后继续到付款页面。我能够写出所有的测试步骤,直到到达付款页面。Selenium成功地对所有页面中的所有元素执行了操作,但对支付页面中的任何元素执行了操作,却不成功。我尝试了隐式wait

  • 我尝试了这些方法,甚至放置等待,但仍然没有找到元素:

  • 在端口20436上启动ChromeDriver(V2.9.248315)线程“main”org.openqa.selenium.noSuchelementException异常:没有这样的元素 (会话信息:chrome=53.0.2785.143)(驱动程序信息:ChromeDriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)(警告:服务器没有