小编Mat*_*ttJ的帖子

SQL Server:如何在使用XML Path组合行后删除最后一个逗号

我找到了一种方法将多行合并为一行,以逗号分隔,但现在我想删除最后一个逗号.

CREATE TABLE supportContacts 
(
   id int identity primary key, 
   type varchar(20), 
   details varchar(30)
);

INSERT INTO supportContacts (type, details)
VALUES ('Email', 'admin@sqlfiddle.com'),
       ('Twitter', '@sqlfiddle');
Run Code Online (Sandbox Code Playgroud)

此查询组合了类型,但我现在要删除最后一个逗号:

SELECT top (2) 
    type + ', ' AS 'data()'
FROM  
    supportContacts
ORDER BY 
    type DESC
FOR XML PATH('')
Run Code Online (Sandbox Code Playgroud)

这是目前的结果:

Twitter, Email,
Run Code Online (Sandbox Code Playgroud)

sql sql-server for-xml-path

5
推荐指数
3
解决办法
1万
查看次数

C# Selenium Webdriver 在 Iframe 中查找元素

我在寻找 iframe 时遇到问题。我想切换到此 iframe,然后单击其中的一个元素。

我尝试使用 Id、Xpath、TagName 和 CssSelector 查找 iframe,但每次查找元素时我的测试都会超时。

这是页面源代码中显示的 iframe:

<div xmlns="http://www.w3.org/1999/xhtml" id="dashboardView" style="display: block;">
        <iframe id="dashboardViewFrame" border="0" scrolling="no" frameborder="0"
style="visibility: visible; height: 607px; width: 1280px; background-color: transparent;"
src="HtmlViewer.ashx?Dd_ContentId=6a8a44ae-2bd5-4f3c-8583-e777279ad4f2"></iframe>
    </div>

<iframe xmlns="http://www.w3.org/1999/xhtml" id="dashboardViewFrame" border="0" scrolling="no"
frameborder="0" style="visibility: visible; height: 607px; width: 1280px; background-color:
transparent;" src="HtmlViewer.ashx?Dd_ContentId=6a8a44ae-2bd5-4f3c-8583-e777279ad4f2"></iframe>
Run Code Online (Sandbox Code Playgroud)

这是我当前的代码:

    public static bool IsAt
    {
        get
        {
            try
            {
                var dashboardiFrame = Driver.Instance.FindElement(By.Id("dashboardViewFrame"));
                //todo switch to iframe
                //todo find element within iframe
                return true;
            }
            catch
            {
                return false;
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# iframe selenium-webdriver

5
推荐指数
2
解决办法
8898
查看次数

Selenium Webdriver C#如何测试元素不存在?

填写必填字段时可以找到此元素:

IWebElement e1SK = Driver.Instance.FindElement(By.XPath(baseXPathSendKeys + "div[2]/textarea"));
Run Code Online (Sandbox Code Playgroud)

如果未填写必填字段,则不应存在上述元素.

该测试抛出异常:

OpenQA.Selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互

这是我需要创建一个方法,还是比这更简单?如果你能展示一个例子,它会有所帮助,我还是C#和Selenium Webdriver的新手.

我已经读过,我可以使用一个名为findwebelements的东西,然后检查以确保结果的长度为零,但我也不确定如何实现.

c# selenium selenium-webdriver

4
推荐指数
1
解决办法
9442
查看次数

Selenium C#:如何从输入元素中提取值

我想从 AGX9 单声道定价字段中提取 3745 的值,以便将其添加到数据表中。但是 input.Text 变为空,我在此页面的 HTML 中没有看到 3745 的实际值。

在此处输入图片说明

这是此输入元素的 HTML:

<td class="monaural" ng-class="{'has-error' : vm.pricingForm[i].$invalid && vm.pricingForm[i].$dirty}" ng-init="i = ha + 'Monaural'">
    <span class="caption caption-currency">$</span>
    <input class="form-control price-control ng-pristine ng-valid ng-valid-required ng-valid-pattern ng-touched" type="text" required="" ng-pattern="/^[0-9]{3,5}(\.[0-9]{2})?$/" ng-model="vm.data[2][i].value" name="agx9Monaural">
</td>
Run Code Online (Sandbox Code Playgroud)

这是我用来尝试将标签、单声道和双声道价格添加到数据表的代码。

        foreach (IWebElement row in rows)
        {
            var inputFields = row.FindElements(By.TagName("input"));

            //monoaural add to dataTableRow
            dr[1] = inputFields[0].Text;

            //binaural add to dataTableRow
            dr[2] = inputFields[1].Text;

            actualDataTable.Rows.Add(dr);
        }
Run Code Online (Sandbox Code Playgroud)

c# selenium selenium-webdriver

3
推荐指数
1
解决办法
2631
查看次数

在C#中使用Selenium Webdriver查找按钮组类中的按钮

我的最终目标是能够在网页上单击"是"或"否".

使用fire bug我可以看到Yes和No按钮位于名为"btn-group"的类中

<div class="btn-group btn-group-default answer-toggle" aria-label="..." role="group">
     <button class="btn ng-pristine ng-valid active btn-secondary ng-touched" btn-radio="true" ng-model="consultation.previousSoundVoid" ng-class="{'btn-secondary': consultation.previousSoundVoid}" type="button">
          Yes
     </button>
     <button class="btn ng-pristine ng-untouched ng-valid" btn-radio="false" ng-model="consultation.previousSoundVoid" ng-class="{'btn-secondary': consultation.previousSoundVoid == false}" type="button">
          No
     </button>
</div>
Run Code Online (Sandbox Code Playgroud)

我想我可以通过XPath找到Element,但我正在努力提高我的Selenium技能.

我希望有一种方法可以先找到"btn-group"类,然后在某种程度上选择Yes或No.

或者能够为"是"和"否"选项创建变量.如果我做:

var button = Driver.Instance.FindElements(By.ClassName("btn"));
Run Code Online (Sandbox Code Playgroud)

它返回21个选项.我找到:

button[15].Text     returns "Yes"
button[16].Text     returns "No"
Run Code Online (Sandbox Code Playgroud)

而不是必须查看所有21个结果并担心索引是否发生变化,我可以通过某种方式按文本搜索结果吗?

c# selenium webdriver selenium-webdriver

1
推荐指数
1
解决办法
7636
查看次数