我在用代码查找元素(单击按钮)时遇到问题。我正在使用Selenium IDE查找元素的xpath或css选择器。奇怪的是,Selenium IDE确实找到了它,但是我的代码找不到了。
我要选择的元素是一个按钮,单击时出现一个下拉菜单,我需要单击另一个按钮。
这是我要选择的类的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 / button“}
我已经寻找答案很久了,并且感到沮丧。如果有任何帮助或提示,我将非常感谢。
我正在使用Chrome(版本77.0.3865.120),chrome网络驱动程序(版本77.0.3865.40),硒(版本3.141.0)
ps。这是我关于堆栈溢出的第一个问题,因此,如果您对我提出问题的技巧有任何建议,我也将不胜感激。
非常感谢,祝您有愉快的一天。 :D
答案 0 :(得分:0)
根据我的理解,您想选择类名称为“ js-select uk-button uk-button--select”的按钮。.下面是它的xpath,
// button [包含(@ class,'js-选择uk-button uk-button--select')]
在下面选择下拉值的是xpath,
// li [包含(text(),'Auftragsnummer')]