получение cs1010 (Newline в константе) исключения для строк driver.FindElement (By.XPath) - PullRequest
0 голосов
/ 04 июня 2019

И обратная косая черта, и апостроф - обычные символы, используемые в XPath.Возможно, это всегда происходит, и я вижу это только сейчас, потому что я добавил часы в строку, но кажется, что каждая строка FindElement выдает это исключение

Одна из строк, выбрасывающая эту ошибку ...

if (loadedPage.FindElements(By.XPath("//div[@class='field signature capture']")).Count != 0)

Я ожидаю, что правильный синтаксис XPath не вызовет исключения.

HTML ...

                    <div class='loaded page' id='page_0' style='height:1030.0px;width:796.0px;background-image:url(/packages/INDle9T1Y4PGRpKDir2KZxuTWoY=/documents/26a85bc2-d735-4135-ad15-d09ce11699f1/pages/0?v=322608);'>
                      <!-- - cssclass  = "field role_#{approval.role.id} #{field.type} #{field.subtype} #{approval.accepted? ? 'accepted' : ''}" -->
                      <div approval='hc1T31A6E0I6' class='field signature capture ' esl_id='_ircL7s98umMX' id='ircL7s98umMX' style='height:55.0px;left:468.0px;top:369.0px;width:220.0px;' tabindex='1' title='Click on the yellow box to capture your handwritten signature.'>
                        <div class='loading'>&nbsp;</div>
                        <div class='required sticky unselectable' role='presentation' style='left:-468.0px;top: 27.5px;'>&nbsp;</div>
                        <div class='content'>
                          <div class='name unselectable'>
                            <div class='cts'>
                              <img class='checkmark' src='/images/ballot_x.png'>
                              Click to Sign
                            </div>
                          </div>
                          <div class='bg required' style='height:53.0px;width:218.0px;'><span class='capture-indicator'></span></div>
                        </div>
                      </div>

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Хотя это не решило первоначальный вопрос о синтаксисе FindElement и вызвало исключение CS1010: Newline in Constant, это помогло мне справиться с проблемой, которая блокировала меня.

Спасибо, KunduK

0 голосов
/ 04 июня 2019

Чтобы проверить ваш HTML, я вижу, что в конце атрибута class есть пробел.

Вместо этого.

if (loadedPage.FindElements(By.XPath("//div[@class='field signature capture']")).Count != 0)

Попробуйте это.

if (loadedPage.FindElements(By.XPath("//div[contains(@class,'field signature capture')]")).Count != 0)

OR

if (loadedPage.FindElements(By.XPath("//div[normalize-space(@class)='field signature capture']")).Count != 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...