按文本定位按钮后单击按钮(Python/Selenium)

按文本定位按钮后单击按钮(Python/Selenium),python,selenium,Python,Selenium,因此,我正在编写一个脚本,它从一个页面获取数据并在另一个页面上搜索数据,然后在找到匹配项后,单击相应的“传输”按钮 在第二页上,我可以使用xpath同级并通过文本搜索找到所需的“传输”按钮,但一旦找到文本,我如何单击该按钮?添加.click()似乎没有多大作用(大概是因为它只是单击文本元素)。我还应该注意到,这是我第一次使用xpathaxes,一般来说,这只是我的第三个或第四个完整脚本,所以我绝对是一个初学者 以下是第二页的相关代码: <div ng-repeat="junc i

因此,我正在编写一个脚本,它从一个页面获取数据并在另一个页面上搜索数据,然后在找到匹配项后,单击相应的
“传输”
按钮

在第二页上,我可以使用
xpath
同级并通过文本搜索找到所需的
“传输”
按钮,但一旦找到文本,我如何单击该按钮?添加
.click()
似乎没有多大作用(大概是因为它只是单击文本元素)。我还应该注意到,这是我第一次使用
xpath
axes,一般来说,这只是我的第三个或第四个完整脚本,所以我绝对是一个初学者

以下是第二页的相关代码:

<div ng-repeat="junc in production.filteredJuncList = (production.juncList.Data | filter:searchJunc) track by $index" class="grid-row tableRow MyJunc ng-scope" id="33490336">
                            <div class="col-1"></div>
                            <div class="col-2 marketplaceInventoryText ng-binding">2</div>
                            <div class="col-3 marketplaceInventoryText ng-binding">406</div>
                            <div class="col-2 marketplaceInventoryText ng-binding">5</div>
                            <div class="col-6 marketplaceInventoryText">
                                <span ng-show="junc.Quantity === 1" class="ng-binding ng-hide">4</span><span ng-show="junc.Quantity > 1" class="ng-binding">4 - 5</span>&nbsp;
                            </div>
                            <div class="col-2" style="padding-left: 55px;">
                                <button class="btn ng-isolate-scope btn-primary" ng-class="{'btn-default': !(type) || (type === 'default'), 'btn-primary': (type === 'primary'), 'btn-success': (type === 'important'), 'btn-contrast': (type === 'contrast'), 'btn-outline': outline, 'btn-sm': !(size), 'btn-lg': (size === 'large')}" ng-transclude="" data-type="primary" data-size="small" ng-click="openInitiateDrawer(junc, production.details)" style="min-width: 53px;"><span class="ng-scope">Transfer</span></button>
                            </div>
                            <div class="clear"></div>
                        </div>

编辑:到目前为止,我通过反向工程传输按钮的xpath找到了一个解决方法。它需要在父元素的outerHTML中找到的整行的“id”。通过使用get_属性并将HTML缩减为id,我可以将其存储为变量并将其传递给xpath。稍微不那么优雅,但现在可以用了。

你能检查一下这个传送按钮是否在任何
框架内吗。在dom中搜索框架您是否可以共享包含传输的ui或html dom的屏幕截图button@afaalgo以下是UI的屏幕截图:@afaalgo该按钮似乎不在任何框架内。您可以检查该行的传输按钮并更新HTML DOM吗
driver.find_element_by_xpath('//div[text()="406"]/following-sibling::div[text()="5"]/following-sibling::div[button[span[text()="Transfer"]]]')