我正在Python和Firefox中使用Selenium,我想在HTML的下一部分中获取文本“ TextB”,我尝试过使用element.get_attribute('textContent')
,但它也需要“ TextA”,是否有任何形式仅获得该文本?
<p class="class_name" id="id_name">
<i class="class_name2"></i>
<b>TextA</b>
TextB
</p>
答案 0 :(得分:3)
尝试仅获取最后一个孩子的文本内容
element = driver.find_element_by_id('id_name')
driver.execute_script('return arguments[0].lastChild.textContent', element)
答案 1 :(得分:0)
下面为您提供了TextA,它是b标签的文本
driver.find_element_by_xpath("//p[@class='class_name']/b").text;
下面为您提供了TextB,它是p标签的文本
driver.find_element_by_xpath("//p[@class='class_name']").text;
答案 2 :(得分:0)
根据您提供的 HTML ,以更 Pythonic 的方式提取文本 TextB 的方法是使用{{3} }方法如下:
myText = driver.find_element_by_xpath("//p[@class='class_name' and @id='id_name']").get_attribute("innerHTML").splitlines()[3]