XPath / CSS / Locators для выбора опции кнопки заголовка с помощью WebDriver - PullRequest
0 голосов
/ 21 ноября 2018

Есть ли код для следующих вопросов?Я не могу написать правильный XPath или CSS, чтобы выбрать заголовок «MRS» для кода ниже.Я использую приведенный ниже код, но не могу его выполнить.

driver.findElement (By.xpath ("// div [@ value = 'MRS']")). Click ();

<div class="question-controls clearfix">
   <div class="question-group ">
        <label class="off">Mr</label>
        <input type="radio" name="title" value="MR" class="ui-helper-hidden-accessible">

        <label class="off">Mrs</label>
        <input type="radio" name="title" value="MRS" class="ui-helper-hidden-accessible">

        <label class="on">Miss</label>
        <input type="radio" name="title" value="MISS" class="ui-helper-hidden-accessible">

        <label class="off">Ms</label>
        <input type="radio" name="title" value="MS" class="ui-helper-hidden-accessible">

        <label class="off">Dr</label>
        <input type="radio" name="title" value="DR" class="ui-helper-hidden-accessible">    
        <label class="off">Rev</label>
        <input type="radio" name="title" value="REV" class="ui-helper-hidden-accessible">    
        <input type="text" maxlength="20" style="display:none" name="otherTitle" value="" placeholder="Other title:" id="otherTitle">
    </div>          
</div>

ссылка для справки:

https://sqa.stackexchange.com/q/36421/35535

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Согласно предоставленному вами HTML для вызова click() в элементе, связанном с заголовком MRS , так как элемент имеет класс clearfix, вам нужно вызвать WebDriverWait для требуемого элемента , который можно активировать нажатием , и вы можете использовать следующее решение:

  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='question-controls clearfix']/div[@class='question-group']//label[contains(.,'Mrs')]//following::input[1]"))).click();
    
0 голосов
/ 21 ноября 2018
//div[@class='question-group']/input[@type='radio'][@value='MRS']   

Если вышеуказанный xpath не работает, пожалуйста, посмотрите, находится ли этот элемент, который вы пытаетесь найти, внутри любого iframe, в таком случае сначала переключитесь на фрейм, а затем попробуйте выбрать этот переключатель.

driver.switchTo().frame(driver.findElement(By.xpath("iframexpath here")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...