Selenium 如何使用By获得红框中没有id、name和class属性的元素? 网银支付

Selenium 如何使用By获得红框中没有id、name和class属性的元素? 网银支付,selenium,Selenium,如何使用获取红色框中的元素? 非常感谢 试试下面的xpath <div class="bInputTab"> <ul> <li class="onNow">网银支付</li> <li><a href="javascript:void(0);" onclick="type_onclick(1);">账号支付</a></li

如何使用获取红色框中的元素? 非常感谢

试试下面的xpath

<div class="bInputTab">
            <ul>
                <li class="onNow">网银支付</li>
                <li><a href="javascript:void(0);" onclick="type_onclick(1);">账号支付</a></li>
            </ul>
</div>

这个XPath应该可以工作:

//a[@onClick='On click Value']

您可以使用xpath、标记名,全部取决于HTML结构,您可以查找父元素,并向下搜索:

  • //li[@class='onNow']/以下兄弟姐妹::li[1]/a
  • 如果它在DOM
    driver.findElement(按.tagName(“a”))中的唯一链接

  • 希望这能有所帮助,

    链接文本也能起作用

    //li[@class='onNow']/following-sibling::li[1]/a
    

    实际上,我没有显示HTML的键结构。这是因为元素不在默认帧中。因此,我将WDS.browser.switchTo().frame(“frame_main”)添加到代码中,它可以工作。 谢谢你的帮助。 参考文献是

  • 元素的定位器无效
  • 2。该元素属于另一个框架

  • 该元素在DOM中尚不可用

  • 请添加目标元素的HTML示例代码,而不是用作图像部分。请提供一些更详细的更改代码,如下所示。它抛出错误。2018-06-20 18:16:26306错误c.g.j.p.w.s.WebDriversSampler::9:65应为,但在第9行的列号处发现类型_onclick var b2cTab=WDS.browser.findElement(pkg.By.xPath('//a[@onclick='type_onclick(1);'])^65@BelindaXu到目前为止有什么更新吗?我认为,通过查看您的代码,它的语法似乎有括号问题。你也试过用双引号。WDS.browser.findElement(pkg.By.xPath(“//a[@onClick='type_onClick(1);']))我更改为xPath('//li[@onNow']/以下同级::li[1]/a'),它抛出如下错误:2018-06-20 18:20:25817错误c.g.j.p.w.s.WebDriverSampler::9:64预期,但发现onNow var b2cTab=WDS.browser.findElement(pkg.By.xPath('//li[@onNow']/以下同级::li[1]/a')^在第9行第64列中,应将此xpath用双引号括起来。
    driver.FindElement(By.LinkText("账号支付"));