Selenium c#如何将文本形式变量放入xpath

时间:2016-07-22 09:02:20

标签: c# xpath selenium-webdriver

我遇到了将变量中的字符串放入Selenium c#中的xpath写入测试中的问题。

我正在尝试检查来自变量的网址是否放在iframe

如果我正在尝试:

Assert.True(Page.CheckIfElementIsDisplayOnPage(By.XPath("//div[@class='widget-content']//iframe[contains(@src,'http://www.google.pl')]")));

一切都好。我得到的信息是:

Element "By.XPath: //div[@class='widget-content']//iframe[contains(@src,'http://www.google.pl')]" is displayed.

但是如果我试图从变量中添加url地址:

string URLAdress = "http://www.google.pl";
Assert.True(Page.CheckIfElementIsDisplayOnPage(By.XPath(String.Format("//div[@class='widget-content']//iframe[contains(@src, {0})]", URLAdress))));

我得到的信息是:

Element "By.XPath: //div[@class='widget-content']//iframe[contains(@src, http://www.google.pl)] is not displayed

我的源代码是:

<div class="widget-content" style="height: 360.4px;">
<div style="height: 360.4px;">`
<iframe src="http://www.google.pl"/>

任何人都可以帮助我吗? 在没有显示元素的信息的第二个条件中,我的网址是没有撇号的问题吗?

1 个答案:

答案 0 :(得分:0)

你缺少单引号。

"//div[@class='widget-content']//iframe[contains(@src, '{0}')]"