如何选择此元素(在Python中)

2024-09-30 06:30:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中使用Selenium在这个action-button类上获得一个选择器,但要使用Javascript文档QuerySelector。这意味着通过WebDriver执行一些js代码,如下所示:

    printBtnlast = driver.execute_script(
                "return document.querySelector('print-preview-app')...('controls').querySelector({WHAT_TO_DO_HERE?})"
    )

(用“…”节略以显示主要思想)

到目前为止,我尝试了以下查询: 'cr-button[class='action-button']',这令人惊讶地给出了一个Message: javascript error: missing ) after argument list

为了访问下图中的action-button,我可以在{What\u TO\u DO\u HERE?}中放置什么

Final Div


Tags: to代码文档hereseleniumjs选择器button
2条回答

query Selector语法与XPath语法稍有不同。您可以使用CSS Selectors来定位元素。找到按钮的一种方法:

querySelector("cr-button.action-button")

由于您没有提供,我无法访问该页面,但可能存在具有给定路径的多个元素的情况。那么其他解决方案可能是:

querySelector("div.controls > cr-button.action-button")

您尝试的查询可能由于引号而出现错误。您可以尝试以下方法:

'cr-button[class="action-button"]'

这应该起作用:

printBtnlast = driver.execute_script("return document.querySelector('.controls > .action-button')")

为此

  printBtnlast = driver.execute_script(
                "return document.querySelector('print-preview-app')...('controls').querySelector({WHAT_TO_DO_HERE?})"
    )

您可以尝试以下方法:

printBtnlast = driver.execute_script("return document.querySelector('div.controls > cr-button.action-button')")

printBtnlast = driver.execute_script("return document.querySelector('cr-button.action-button')")

相关问题 更多 >

    热门问题