我知道我可以使用以下方法:
find_elements_by_tag_name()
find_elements_by_id()
find_elements_by_css_selector()
find_elements_by_xpath()
但是我想做的就是简单地获取页面中存在的所有元素ID的列表,也许还有它们出现的标记类型。
我该怎么做?
以前不必这样做,但是可以从逻辑上考虑一下,您可以使用XPath来做到这一点(也许是其他方式,XPath是出现在我脑海中的第一件事)。
使用find_elements_by_xpath
XPath //*[@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)(警告:服务器没有