【问题标题】:Difference between css path and css selector in selenium webdriver firefoxselenium webdriver firefox中css路径和css选择器的区别
【发布时间】:2020-08-05 11:48:46
【问题描述】:

问题是我想找到许多共享相同 css 路径的元素,但是当我使用时

elements= webdriver.find_elements_by_css_selector("")

这只有在我打开检查元素时才有效。

但是,在不打开检查元素的情况下运行代码时,我得到了 elements=[ ]

“没有找到”

我使用 css 路径,因为它是我想要定位的元素之间唯一的相互关系。

【问题讨论】:

    标签: python html css selenium selenium-webdriver


    【解决方案1】:

    正如我所测试的,css 路径是通过 DOM 树到您希望定位的元素的“完整”路径。 从 html 标记开始到 (n) 项。

    这包括树中的每个元素,直到您到达焦点元素。 示例:

    html.wf-nunitosans-n4-active.wf-active body#gsr.hp.vasq.big div#viewport.ctr-p div#searchform.jhp.big form#tsf.tsf.nj div div.A8SBwf div.FPdoLc.tfB0Bf center input.gNO89b
    

    CSS 选择器是使用 css 定位器和轴到焦点项目的最短路径。

    例子:

    .FPdoLc > center:nth-child(1) > input:nth-child(1)
    

    希望对你有所帮助。

    【讨论】:

    • 我使用 css 路径,因为它是我想要定位的元素之间唯一的相互关系,当我使用 css 选择器时,它只定位在元素上
    • 我建议坚持使用 css 选择器,因为 dom 树中的一个更改和你的 css“路径”将是无效的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多