首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择此元素(在Python中)

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

Stack Overflow用户
提问于 2021-09-13 05:05:12
回答 2查看 148关注 0票数 0

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

代码语言:javascript
复制
    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,我可以在action-button中放置什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-13 05:41:18

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

代码语言:javascript
复制
querySelector("cr-button.action-button")

由于您没有提供页面,所以我没有访问该页面的权限,但情况可能是,给定路径有多个元素。那么,其他解决办法可能是:

代码语言:javascript
复制
querySelector("div.controls > cr-button.action-button")

您尝试的查询可能会由于引号而产生错误。你可以试试这个:

代码语言:javascript
复制
'cr-button[class="action-button"]'

这应该是可行的:

代码语言:javascript
复制
printBtnlast = driver.execute_script("return document.querySelector('.controls > .action-button')")
票数 0
EN

Stack Overflow用户

发布于 2021-09-13 05:44:53

为此

代码语言:javascript
复制
  printBtnlast = driver.execute_script(
                "return document.querySelector('print-preview-app')...('controls').querySelector({WHAT_TO_DO_HERE?})"
    )

你可以试试这个:

代码语言:javascript
复制
printBtnlast = driver.execute_script("return document.querySelector('div.controls > cr-button.action-button')")

代码语言:javascript
复制
printBtnlast = driver.execute_script("return document.querySelector('cr-button.action-button')")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69157500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档