我需要检查一个特定的文本是否存在于具有复合类的区域中,但硒在页面上根本找不到这个元素。selenium在页面上找不到的元素Webdriver
我已经尝试过使用class和xpath,但没有找到它。
完整的HTML代码,我需要得到文本:
<span class="mn-person-info__occupation mn-person-info__occupation--card-layout Sans-13px-black-55%">
Consultor de RH - HProjekt
</span>
完整的HTML代码:
<div class="mn-person-info__card-details mt1">
<a data-control-name="pymk_profile" href="/in/kaique-soares-04798354/" id="ember1053" class="mn-person-info__link ember-view"> <span class="visually-hidden">Nome do usuário</span>
<span class="mn-person-info__name
mn-person-info__name--card-layout Sans-15px-black-85%-semibold">
Kaique Soares
</span>
<span class="visually-hidden">Cargo do usuário</span>
<span class="mn-person-info__occupation
mn-person-info__occupation--card-layout Sans-13px-black-55%">
Consultor de RH - HProjekt
</span>
</a>
<div class="mn-person-info__shared-insights display-flex justify-center pt1 ph2">
<button data-control-name="see_all_common_connections" class="mn-person-info__shared-insights-btn Sans-13px-black-55%" data-ember-action="" data-ember-action-1256="1256">
<span class="mn-person-info__shared-insights-icon svg-icon-wrap"><li-icon aria-hidden="true" type="in-common-icon" size="small"><svg viewBox="0 0 24 24" width="24px" height="24px" x="0" y="0" preserveAspectRatio="xMinYMin meet" class="artdeco-icon"><g class="small-icon" style="fill-opacity: 1">
<path d="M11,3C9.9,3,8.9,3.4,8,4C5.8,2.3,2.7,2.8,1,5s-1.2,5.3,1,7c0.9,0.6,1.9,1,3,1s2.1-0.4,3-1c2.2,1.7,5.3,1.2,7-1s1.2-5.3-1-7C13.1,3.4,12.1,3,11,3z M1.9,8c0-1.7,1.4-3.1,3.1-3.1c0.6,0,1.2,0.2,1.7,0.5c-1,1.6-1,3.6,0,5.2c-1.4,1-3.4,0.6-4.3-0.8C2.1,9.2,1.9,8.6,1.9,8z M11,11.1c-0.6,0-1.2-0.2-1.7-0.5c1-1.6,1-3.6,0-5.2c1.4-1,3.4-0.6,4.3,0.9s0.6,3.4-0.9,4.3C12.2,10.9,11.6,11.1,11,11.1z"/>
</g></svg></li-icon></span>
<span class="mn-person-info__shared-insights-count">
Fernando Abrantes e mais 76 pessoas
</span>
</button>
</div>
</div>
我尝试这些方法,甚至把等待,仍然没有找到元素:
String text = driver.findElement(By.className("mn-person-info__occupation.mn-person-info__occupation--card-layout.Sans-13px-black-55%")).getText();
System.out.println(text);
driver.findElement(By.className("mn-person-info__occupation.mn-person-info__occupation--card-layout.Sans-13px-black-55%")).getText();
WebElement text = driver.findElement(By.className("mn-person-info__occupation.mn-person-info__occupation--card-layout.Sans-13px-black-55%")).getText();
System.out.println("text");
尽量不要你的意思是打印变量'text'代替字符串文字'“文本”'? - 编辑:你也有多个相同的类名称元素? - 如果是这样,你可能会得到一个匹配元素而不是单个元素的数组(因此,数组的'.getText()'会给你错误) – ochi
@ochi 注意,我在这里写错了,但在代码是正确的,谢谢。 –