В selenium webdriver фактический текст «индийский», но element.getText() извлекает «Индийский»

#java #selenium #selenium-webdriver

#java #selenium #selenium-webdriver

Вопрос:

Это исходный код элемента

 <div id="q1">
<p>Are you an "Indian" by birth</p>
</div>
  

expected_text = Вы «индиец» по происхождению?
actual_text = driver.findElement(By.xpath("//div[@id='q1']/p")).getText();

actual_text выдает Are you �Indian� by birth, и мое утверждение становится ненужным. Может ли кто-нибудь 1, пожалуйста, помочь мне, как справиться с этим

Он работал нормально до последнего часа. Но он выдает ту же ошибку через 90 минут

Комментарии:

1. Похоже, проблема с кодировкой. Попробуйте закодировать строку в UTF-8, например baeldung.com/java-string-encode-utf-8

Ответ №1:

Простым способом была бы замена символа.

 s1='Are you an �Indian� by birth' 
s2=s1.replace("�","" ) 
print(s2)
  

Ответ №2:

Да, вы можете заменить закодированный символ или изменить язык webdriver, я использую Chrome

 browserProfile = webdriver.ChromeOptions()
        browserProfile.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'})  
        browser = webdriver.Chrome('chromedriver.exe', options=browserProfile)
  

Дайте мне знать, работает ли это или нет.