Есть ли какой-нибудь код для нижеприведенных проблем? Я не могу написать правильный 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>
ссылка для справки:
ссылка на страницу - compare-int-01.underwriteme.co.uk/customer/first
- Я вижу страницу входа без радио.
Необходимо войти в систему, чтобы увидеть эту страницу, и мне не разрешено предоставлять данные для входа
Тогда вы, наверное, не получите хорошего ответа, извините.
в любом случае, спасибо за помощь.




//div[@class='question-group']/input[@type='radio'][@value='MRS']
Если указанный выше xpath не работает, проверьте, находится ли этот элемент, который вы пытаетесь найти, внутри любого iframe, в этом случае сначала переключитесь на фрейм, а затем попробуйте выбрать этот переключатель.
driver.switchTo().frame(driver.findElement(By.xpath("iframexpath here")));
попробовал ваш код и все еще получаю сообщение об ошибке. обратите внимание, что этот элемент отсутствует в каком-либо iframe. driver.findElement (By.xpath ("// div [@ class = 'question-group'] / input [@ type = 'radio'] [@ value = 'MRS']")). cl ick ();
Список <WebElement> radioList = driver.findElements (By.xpath ("// div [@ class = 'question-group'] / input [@ type =' radio ']")); for (int i = 0; i <radioList.size (); i ++) {if (driver.radioList.getElement (i) .getAttribute (value) .equals IgnoreCase ("MRS")) {driver.getElement (i) .click ()}} используйте приведенный выше код и дайте мне знать, работает ли он, пожалуйста
Я использовал приведенный выше код, но я не могу выполнить код из-за radioList в цикле if. сообщение RadioList не может быть разрешено или отсутствует в поле. используемый ниже код List <WebElement> radioList = driver.findElements (By.xpath ("// div [@ class = 'question-group'] / input [@ type =' radio ']")); for (int i = 0; i <radioList.size (); i ++) {if (driver.radioList.getElement (i) .getAttribute ("значение"). e qualsIgnoreCase ("MRS")) {driver.findElement (i) .click (); }}
извините, есть исправление, List <WebElement> radioList = driver.findElements (By.xpath ("// div [@ class = 'question-group'] / input [@ type =' radio ']")) ; for (int i = 0; i <radioList.size (); i ++) {if (radioList.getElement (i) .getAttribute ("value"). equalsIgnor eCase ("MRS")) {radioList.getElement (i) .click (); }} удалить драйвер. от, если {} он будет работать
невозможно выполнить должное время getElement в цикле if. Сообщение, когда я нажимаю на него: метод getElement (int) не определен для типа List <WebElement. он говорит мне добавить слепок в радиолист
используйте get (i) вместо getElement ()
последняя ошибка в driver.findElement (i) .click (); }} сообщение об ошибке: метод findElement (By) в типе WebDriver не применим для аргументов (int)
замените driver.findElement (). click () на radioList.get (i) .click ();
Пробовал код ниже, и не удается выбрать заголовок MRS List <WebElement> radioList = driver.findElements (By.xpath ("// di v [@ class = 'question-g roup'] / input [@ type = ' радио'] ")); for (int i = 0; i <radioList.size (); i ++) {if (radioList.get (i) .getAttribute ("value"). equalsIgnoreCas e ("MRS")) {radioList.get (i) .click (); }}
В соответствии с HTML, который вы предоставили для вызова click() в элементе, связанном с заголовком Г-ЖА, поскольку элемент имеет класс 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();
Можете ли вы обновить основной вопрос точным значением журналы трассировки ошибок для дальнейшего анализа?
Я сумасшедший или ваша "ссылка для справки" - это ссылка на ваш вопрос? Нам нужна ссылка на страницу.