请帮我写下xpath,从下面的HTML中选择Name address Maintenance
。它是一个无序列表,其中id每次都会动态变化。我用了
driver.findElement(By.xpath("//*[contains(text(), 'Name Address Maintenance')]")).click();
但看到错误消息
无法使用提供的xpath定位元素
HTML:
<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-290" tabindex="0" role="combobox" style="display: block; top: 112px; left: 138.6px; width: 231px;">
<li class="ui-menu-item" id="ui-id-318" tabindex="-1">Accounting/Closing</li>
<li class="ui-menu-item" id="ui-id-319" tabindex="-1">Account Maintenance</li>
<li class="ui-menu-item" id="ui-id-320" tabindex="-1">Account Opening</li>
<li class="ui-menu-item" id="ui-id-321" tabindex="-1">Account Review</li>
<li class="ui-menu-item" id="ui-id-322" tabindex="-1">Administration</li>
<li class="ui-menu-item" id="ui-id-323" tabindex="-1">Advance Distribution</li>
<li class="ui-menu-item" id="ui-id-324" tabindex="-1">Asset Movement</li>
<li class="ui-menu-item" id="ui-id-325" tabindex="-1">Cash Receipt</li>
<li class="ui-menu-item" id="ui-id-326" tabindex="-1">Cash Disbursement</li>
<li class="ui-menu-item" id="ui-id-327" tabindex="-1">Court Accounting</li>
<li class="ui-menu-item" id="ui-id-328" tabindex="-1">Loan Request</li>
<li class="ui-menu-item" id="ui-id-329" tabindex="-1">Name Address Maintenance</li>
<li class="ui-menu-item" id="ui-id-330" tabindex="-1">Alternate Account Opening</li>
<li class="ui-menu-item" tabindex="-1">Trust Forms</li>
</ul>
答案 0 :(得分:0)
以下对我来说工作正常 WebElement typeBox = driver.findElement(By.xpath(&#34; // @id =&#39; 1_s_1_l_SR_Type_New _&#39;]&#34;)); typeBox.click(); driver.findElement(By.xpath(&#34; // [@ id =&#39; 1_SR_Type_New _&#39;]&#34;))。sendKeys(&#34; Name Address Maintenance&#34; );
答案 1 :(得分:0)
当selenium没有直接找到元素时,有时会发生变化,所以我们需要从父节点开始。
其次,它总是更好地使用完整的文本(不仅仅是包含),试试这个,它应该工作:
driver.findElement(By.xpath(“// ul / li [text()='Name Address Maintenance']”))。click();
答案 2 :(得分:-1)
试试这个。它的工作原理
def out_func(arg_1):
print 'This print statement is in Python'
a = int(arg_1 * 10)
return a
答案 3 :(得分:-1)
试试这个
//child::li[@class='ui-menu-item' and contains(text(),'Name Address Maintenance')]
或
.//li[@class='ui-menu-item' and contains(text(),'Name Address Maintenance')]