如何在Selenium PhantomJS C#中通过Xpath查找元素

时间:2016-07-27 02:25:54

标签: c# winforms selenium xpath phantomjs

这是结构:

template <const int& (*C)(const int&, const int&)>
class Test
{
public:
    int compare(int x, int y)
    {
        return C(x, y);
        //      ~~ Note no () here
    }
};

这就是我想要做的事情:

<div id="footer">
    <div id="debugTxt" style="color:blue;">Wed Jul 27 2016 10:06:12 GMT+0800 (Sample)Sample<br>
    Sample<br>
    Wed Jul 27 2016 10:06:12 GMT+0800 (Sample) Sample<br>
    Wed Jul 27 2016 10:06:12 GMT+0800 (Sample) Sample!<br>
    Wed Jul 27 2016 10:06:12 GMT+0800 (Sample) <br>
    DataTOGET:<a href="http://Please.Get.Me" target="_blank">http://Please.Get.Me</a><br>
    </div>
</div>

是否可以获得driver1.FindElement(By.XPath(".//*[@id='debugTxt']")).GetAttribute("value"); 的价值?

3 个答案:

答案 0 :(得分:2)

您应该调整表达式以匹配a中的div元素:

driver1.FindElement(By.XPath(".//*[@id='debugTxt']/a")).GetAttribute("href");

答案 1 :(得分:1)

稍微调整并帮助alecxe

driver1.FindElement(By.XPath("//*[@id='debugTxt']//a")).GetAttribute("href");

答案 2 :(得分:1)

我认为您想要链接的可见文字,您应该尝试使用.Text,如下所示: -

driver1.FindElement(By.XPath(".//*[@id='debugTxt']/a")).Text;