首页 文章

如何使用selenium WebDriver单击href =“#”类型的隐藏元素

提问于
浏览
0

我试图点击下拉列表中的元素,点击它时最初隐藏元素,显示列表,我想点击列表中的一个名称 . 我尝试使用选择下拉列表...通过visbile文本方法查找,但得到一个错误,说明元素是输入的类型而不是下拉列表 .

我尝试使用xpath,Css选择器,linkname和Partiallinktext但没有一个工作 .

我需要点击的元素的HTML如下:

<div class="dropdown" style="display: none;">
<div class="search">
<div class="tree" style="display: block;">
<ul class="open">
<li>
<a class="parent open" href="#"></a>
<a class="current" data-nodeid="7" data-name="Global" data-nodemetadata="Global,Global" data-fullname="Global" href="#">Global</a>
<ul class="open">
<li>
<li>
a data-nodeid="807" data-name="Akram" data-nodemetadata="Akram,akram" data-fullname="Akram" `href="#">Akram</a>`
</li>
<li>

我想点击'Akram'元素 . 任何帮助将不胜感激 .

有没有办法在Xpath字符串中传递变量名称,就像在上面的情况中一样,而不是单击'Akram'我想点击任何其他文本,那么是否可以将此文本添加到变量并使用内部的变量xpath“// div [@ class ='dropdown'] // a [text()='Akram']”

提前致谢 .

1 回答

  • 3

    WebDriver不允许单击隐藏的元素 . Naїve方法只需执行2次点击 . 首先是下拉,第二个是选项: click "//div[@class='dropdown']" 然后它会出现,你 click "//div[@class='dropdown']//a[text()='Akram']" . 此外,有可能在执行第二次单击时,仍然可以隐藏下拉选项,在这种情况下,您需要等待它们首先显示 .

相关问题