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

Selenium/Python:如何获取一个类中与另一个类处于同一级别的按钮的所有实例?

糜正业
2023-03-14

在此特定页面上,出现了两个span class=“频道名称”。在同一级别上的每个span类下,都有多个div class=“contract ng scope ng隔离作用域ui draggable ui draggablehandle”的实例。在每一个下,我试图检索所有按钮类文本(即B),HTML代码提取的最后一行。

HTML代码:

<span class="channel-name">
<div class="contract ng-scope ng-isolate-scope ui-draggable ui-draggable-handle" ng-repeat="contract in data.channel.contracts track by $index" drag-data="contract" mit-draggable="">
  <div class="ng-isolate-scope ui-droppable" ng-class="{'invisible': atMaxContractsPerChannel(data.channel)}" drop-success="addToContractTop" drop-data="{verticalSeq: $index, contract: contract, priority: data.priority}" mit-droppable="">
    <div class="drop-zone-placeholder"></div>
    <mit-contract class="ng-isolate-scope" data="{verticalSeq: $index, contract: contract, channel: data.channel, currentProgram: data.currentProgram, programBackup: data.programBackup}">
      <div class="ibox-content no-margins " tooltip-placement="top" tooltip-class="beacon-body-uib-tooltip" tooltip-append-to-body="true" uib-tooltip-template="ui.views.infoTooltip" tooltip-is-open="errorAndHovering" tooltip-trigger="none" mit-err="{errs:[{event:'contract_0-0', context:'validateProgram'}], errClass:'mit-err-right-border'}">
        <button class="name btn-link ng-binding ng-isolate-scope" tooltip-class="beacon-body-uib-tooltip" tooltip-placement="left" tooltip-append-to-body="true" uib-tooltip="Edit" ng-disabled="disableEdit()" mit-mini-modal="" ng-click="editContract(contract)">B</button>

这是我的python代码。它现在所做的就是检查列名,以确保它搜索的是正确的频道名称,如果是这样的话,检索它下面的第一个按钮名称并返回它,我知道我用的是错误的方式,任何帮助都将不胜感激!

def get_contract_name_in_inuring_column(self, column_name):
        elements = self.page_loc.find_elements_by_xpath("//span[@class='channel-name']")
        count = 0
        for element in elements:
            if element.find_elements_by_xpath(".//input[@name='name']")[0].get_attribute('value') == column_name:
                return self.page_loc.presence_of_all_css('button[ng-click="editContract(contract)"]')[count].text
            count += 1

共有1个答案

阎德宇
2023-03-14

为了检索第一个和第二个按钮,下面是XPath。

(.//button[@class='name btn-link ng-binding ng-isolate-scope'][@tooltip-class='beacon-body-uib-tooltip'])[1] 
(.//button[@class='name btn-link ng-binding ng-isolate-scope'][@tooltip-class='beacon-body-uib-tooltip'])[2] 
 类似资料:
  • 问题内容: 在Java中,是否有任何可能的方法来获取某个类的所有实例? 问题答案: 实例化类(Singleton模式)时,可以使用Factory静态初始化程序,然后将工厂构造函数中的每个生成的实例添加到List中。 像这样的东西:

  • 我需要创建三个类:客户、产品和订单。我希望我的orders类接受来自客户和产品的实例(即,能够让一个订单包含关于客户和他们正在订购的产品的信息)。在JavaScript中设置这一点的最佳方法是什么?我最初想让我的customer和products类扩展order类,但我是否能够让order同时扩展customer和products类?

  • 这里Book是根类,即最终的CSV将命名为books.CSV。 使用,我们只获得字段名title和author,但是我们还需要来自author类的字段名(name和age),有没有方法获得这些字段名?

  • 在上图中,我正试图点击“继续发送电子邮件”按钮。这是我的代码: 要么是我的语法错误,要么是我对网页的糟糕理解让我失望了 任何帮助-非常感谢 谢了Rob

  • 我有两个类和一个文本文件数据库,第一个类中的,我们将其称为自动设置为数据库中的数字。现在,在中,我有一个小的和一个文本字段,当然还有一个按钮,我在文本字段中的值会覆盖数据库中的值,但问题出在这里。第一个类中的标签在运行时不会更新,但如果我重新启动它,它会显示我想要的值。 如何在程序运行时更新它?我尝试在另一个类的中更改标签,但它每次都给我一个。 我怎么解决这个? 我希望这让我更容易理解我的问题。这

  • 我在class中定义了一个变量。它可以很好地执行Account类中定义的提款功能。但是,我希望访问Sav\u acct类中存在的函数interest中的变量值。它将收回的值取为0。如何使用兴趣函数中的函数中的函数的值,以便执行正确的数学运算? 导入java。util。扫描仪; 类别帐户{ 双重撤回; } 作废取款(){ 扫描仪sc=新扫描仪(系统英寸); 系统出来println(“您想提取多少?”