没有ID或CLASSNAME的硒按钮单击

时间:2019-05-14 21:06:29

标签: c# selenium

enter image description here我需要单击一个没有ID或类名的按钮。我该怎么办?

按钮是

input type="button" class="button L T T_disconn" value="Bağlantıyı Kes" onclick="doDisConn(2, [1,1,1,0,0,0]);"

2 个答案:

答案 0 :(得分:0)

使用CSS或xpath选择器。根据您的要求尝试CSS

driver.findelement(by.cssselector(#wan_table td input[type='button'][value='Bağlantıyı Kes'])).click();

如果.click()不起作用,请尝试导入import org.openqa.selenium.Keys并使用发送键执行操作。

driver.findelement(by.cssselector(#wan_table td input[type='button'][value='Bağlantıyı Kes'])).sendKeys(Keys.RETURN);

答案 1 :(得分:0)

使用xpath标识符。

//input[@class='button L T T_disconn']
driver.FindElement(By.XPath("//input[@class='button L T T_disconn']")).click();

//input[@value='Bağlantıyı Kes']
driver.FindElement(By.XPath("//input[@value='Bağlantıyı Kes']")).click();

driver.FindElement(By.XPath("//input[contains(@class, 'Kes')]")).click();

基于带有html的图片,底部引用了iframe。如果您要单击的按钮在iframe中,则可以使用它来进行访问。

    public static void SwitchToIframe(string frameName)
    {
        try
        {
            driver.SwitchTo().Frame(frameName);
        }
        catch (NoSuchFrameException)
        {
            try
            {
                driver.SwitchTo().Frame(frameName);
            }
            catch (NoSuchFrameException)
            {
                LogFunctions.WriteError("Could not switch into IFrame");
                throw;
            }
        }
    }

然后切换回去。...

    public static void SwitchToMainContent()
    {
        driver.SwitchTo().DefaultContent();
    }