硒找不到返回无或[]的元素

时间:2020-04-01 09:43:54

标签: python-3.x selenium xpath selenium-chromedriver

我无法访问元素,这是我的代码:

driver.get(url)
desc = driver.find_elements_by_xpath('//p[@class="somethingcss xxx"]')

我正在尝试使用其他类似方法

desc = driver.find_elements_by_class_name('somethingcss xxx')

我试图找到的元素

<div data-testid="descContainer">
<div class="abc1123">
    <h2 class="xxx">The Description<span data-tid="prodTitle">The Description</span></h2>
    <p data-id="paragraphxx" class="somethingcss xxx">sometext here
        <br>text
        <br>
        <br>text
        <br> and several text with
        <br> tag below
    </p>
</div>
<!--and another div tag below-->

我想在div class =“ abc1123”内提取标记p,但是它不返回任何结果,仅当我尝试get_attribute或将其提取到文本时才返回[]。

当我尝试将此方法与另一个类一起使用来提取另一个元素时,它可以正常工作。

有人知道为什么我无法访问这些元素吗?

1 个答案:

答案 0 :(得分:0)

尝试使用以下css选择器找到p标签。

print(driver.find_element_by_css_selector("p[data-id^='paragraph'][class^='somethingcss']").text)

或使用get_attribute("textContent")

print(driver.find_element_by_css_selector("p[data-id^='paragraph'][class^='somethingcss']").get_attribute("textContent"))