【发布时间】:2021-07-30 06:40:12
【问题描述】:
我是使用 Python 的 Selenium 新手。我进行了一些搜索,但仍然对 find_elements_by_class_name 的用法感到困惑,这不起作用,如附图所示。
- items = browser.find_elements_by_class_name('prod_name'),打印每个项目ok。
- items = browser.find_elements_by_class_name('isImpressTs.isImpress'), return 0 什么都不显示,也没有错误。
- items = browser.find_elements_by_class_name('isImpressTs isImpress'), return 0 什么都不显示,也没有错误。
- items = browser.find_elements_by_class_name('isImpressTs'), return 0 什么都不显示,也没有错误。
- items = browser.find_elements_by_xpath("/html/body/div1/div[2]/div1/div[3]/div[2]/dl/dd1/dl[2 ]/dd[3]"),打印项目ok。
我不知道如何使上述 2,3 或 4 起作用。 XPath 有效,但如何通过通配符而不是指定 dd[3] 出现来查找所有元素?
任何帮助表示赞赏。
【问题讨论】:
-
UI 的屏幕截图很棒,代码或 HTML 的屏幕截图则不然。请阅读为什么a screenshot of code/HTML is a bad idea。粘贴代码/HTML 并正确格式化。
-
2 和 3 不是类名... 2 是 CSS 选择器(无效),3 是两个类名,“isImpressTs”和“isImpress”。我不知道为什么 4 在没有看到页面的情况下不起作用。这可能是时间问题...您是否尝试过添加等待?您是否尝试过在浏览器中测试这些定位器?
$$()表示 CSS 选择器,$x()表示 XPath。
标签: python css selenium selenium-webdriver css-selectors