【发布时间】:2020-02-17 08:58:21
【问题描述】:
我在使用我的代码查找元素(要单击的按钮)时遇到问题。我正在使用 Selenium IDE 来查找元素的 xpath 或 css 选择器。奇怪的是 Selenium IDE 确实找到了它,但我的代码没有。
我要选择的元素是一个按钮,单击时会出现一个下拉菜单,我需要单击另一个按钮。
- 按钮(按钮 class="js-select uk-button uk-button--select">)
- Button(li data-field="sapOrderNumber">Auftragsnummer
这是我要选择的类的html:
<div class="uk-button-dropdown uk-margin-right" data-uk-dropdown="{mode:'click'}" aria-haspopup="true" aria-expanded="false">
<button class="js-select uk-button uk-button--select">
<span>Filter auswählen</span>
<i class="icon-arrow-left"></i>
</button>
<div class="uk-dropdown uk-dropdown-close uk-dropdown-bottom uk-dropdown--select" aria-hidden="true">
<ul class="js-filter-select uk-nav uk-nav--select">
<li data-field="articleNumber">Artikelnummer</li>
<li data-field="dateRange">Zeitraum</li>
<li data-field="sapOrderNumber">Auftragsnummer</li>
<li data-field="personalReference">persönliche Referenz</li>
<li data-field="shipTo">Lieferadresse</li>
<li data-field="orderType">Auftragsart</li>
</ul>
</div>
</div>
Selenium IDE 的屏幕截图(Selenium IDE 确实找到并单击按钮)1
我已尝试使用以下代码查找元素:
driver.find_element_by_xpath("//ul[@id='tabs-orderbook']/li/div/div/div/div/div/button").click()
driver.find_element_by_xpath("//button").click()
driver.find_element_by_css_selector(.uk-margin-right > .js-select").click()
这是我得到的错误信息:
NoSuchElementException: 没有这样的元素: 无法定位元素: {"method":"xpath","selector":"//ul[@id='tabs-orderbook']/li/div/div/div/ div/div/按钮"}
我已经寻找了很长一段时间的答案并且感到沮丧。如果有任何帮助或提示,我将不胜感激。
我正在使用 Chrome(版本 77.0.3865.120)、chrome webdriver(版本 77.0.3865.40)、selenium(版本 3.141.0)
ps。这是我关于堆栈溢出的第一个问题,所以如果您对我如何提问有任何提示,我也将非常感激。
非常感谢,祝您有美好的一天。 :D
【问题讨论】:
-
请注明 Selenium 版本、浏览器名称、版本和使用的驱动程序版本。
-
您是否尝试在点击之间添加暂停?很多时候,打开下拉菜单的动画比运行测试慢,所以你需要添加某种等待
标签: python html selenium selenium-webdriver