当前位置: 首页 > 知识库问答 >
问题:

在selenium chromedriver python中找不到文本为()的按钮

颜新
2023-03-14

我无法单击该按钮,但我尝试的每种方法都失败了。以下是在镶边中单击“检查”的结果:

<button class="rg-run-report-button md-raised md-primary md-ink-ripple md-button" type="submit" ng-transclude="" ng-click="reportCtrl.generateReport()" ng-disabled="!(reportCtrl.isGenerateButtonEnabled())">
        RUN REPORT
      <div class="md-ripple-container" style=""></div></button>

我将以此为基础构建一个Xpath,如下所示:

driver.find_element_by_xpath("//button[contains(text(), 'RUN REPORT')]").click()

文本“运行报告”周围有很多令人尴尬的空白。我不知道该怎么做,因为我试图通过按钮的属性定位按钮。

共有2个答案

堵存
2023-03-14

感谢@Dev:

找到我需要点击的元素的问题不是来自不正确的Xpath定位器,而是没有考虑切换iframe。我正在查看的源没有直接包含该元素,但确实有一个iframe(总共两个)这样做了。

当我点击按钮上的“检查元素”时,它没有直接显示组件。因为组件嵌套在iframe中。

我做了:

driver.switch_to.frame('name of iframe')

然后

driver.find_element_by_xpath("//button[@ng-click='reportCtrl.generateReport()']")
公冶翰池
2023-03-14

尝试以下定位器之一-以下定位器将删除文本周围的空格并仅查找文本

//button[normalize-space(text()='RUN REPORT')]

或者从html结构来看,您的应用程序似乎是angular的,因为在angular中使用< code>ng标记开发的应用程序非常有效

//button[@ng-click="reportCtrl.generateReport()"]
 类似资料:
  • 我通过调用python方法来编写自动化测试的机器人。在python中,我使用xpath在python中找到文本“分支TH1”。这是参考, 这是我的剧本, 这是我想测试的网络代码, 这是当我手动找到xpath时,你会看到我可以手动找到元素“//*[包含(文本(),'分支TH1')]/.../输入/...”作为1of1在红框高亮显示,但它不会在代码行高亮显示(不确定这是否是重点)。 在我运行it之后,

  • 帮助URL: URL[1]:http://i.stack.imgur.com/s5ZnK.png'此URL还显示删除按钮代码。 硒 IDE: 命令 : 目标单击和等待 : id=ctl00_Dialogproxy_deletenews_btnDelete 日志表值:[info]正在执行:| click and wait | id = CTL 00 _ dialog proxy _ delete n

  • 在此处输入代码我正在对一个电影页面进行web抓取,但它找不到跨度,尽管在xpath中它可以识别它,它找不到文本,当我打印它时,它打印为空。 这是在此处输入图像描述的代码 找到物品的证据请在此处输入图像描述 网址 https://www.cinecolombia.com/cali/peliculas/el-olvido-que-seremosxpath //section@class=“可折叠的显示

  • 问题内容: 下面的代码正确返回该单元格: 但是在表视图中查找indexpath会崩溃: 我尝试了另一种方法,但是没有成功: 问题答案: 我不知道是否有简单的方法可以做到这一点。( 编辑: 实际上有。请查看@mustafa的第二个解决方案。)一种解决方法是将按钮的标签设置为in ,然后可以仅访问按钮的标签以找出按钮所属的行。 警告: 此解决方法很脆弱。如果您允许在不调用的情况下从表中添加或删除行,则

  • 我在opennlp文档页面中遇到了这个类TokenizerME(http://opennlp.apache.org/documentation/manual/opennlp.html).我不明白怎么计算概率。我用不同的输入测试了它,但仍然不理解。有人能帮我理解它背后的算法吗?我编写了这个示例代码 我得到了这个输出 令牌:这个 代币:是吗 代币:是吗 代币:书 代币Prob:1.0 代币Prob:1

  • 就是这个班 我想将当前日期显示为文本输入按钮。(以下是按钮的布局。) 这是设置文本输入按钮的.kt代码