在硒中找不到元素

2024-09-28 03:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图找到这些元素之一(投赞成票或投反对票):

<div class="votingWrapper ">
            <span class="voteBtn voteUp " data-postid="c4fcff79-7f73-493c-b6d8-f05ff1962897"></span>
            <span class="postRank">
                <span class="rankWrapper wrapper_up" data-points="1320">+1.3k</span>
                    <span class="rankWrapper wrapper_down" data-points="512">-512</span>
            </span>

                <span class="voteBtn voteDown " data-postid="c4fcff79-7f73-493c-b6d8-f05ff1962897"></span>
        </div>

我试图通过类、id、xpath(很多类型)来定位它,但是我没有得到任何uchelementexception。你知道吗

element = driver.find_element_by_id("c4fcff79-7f73-493c-b6d8-f05ff1962897")

element = driver.find_element_by_class_name("voteBtn voteDown ")

element = driver.find_element_by_xpath('//*[@id="c4fcff79-7f73-493c-b6d8-f05ff1962897"]/div[1]/span[3]')

我找了3个小时怎么做,但失败了。这是不可能的。你知道吗

谁能给我一些小费吗?你知道吗


Tags: dividdatabydriverelementfindclass
3条回答

尝试以下XPath(如果它们不在帧中):

要找到voteUp:

//span[contains(@class,"voteBtn voteUp")]

要查找voteDown:

//span[contains(@class,"voteBtn voteDown")]

如果它们是inside a frame(检查您要查找的元素是否是iframe标记的child元素),那么首先是find the frame,然后是switch。然后使用XPath查找元素。你知道吗

你一次只能通过一门课

element_up = driver.find_element_by_class_name("voteUp")
element_down = driver.find_element_by_class_name("voteDown")

在html标签中使用空格通常是不赞成的,但是您的问题可以很容易地解决。 在CSS中,您可以访问一个具有类名的div,该类名与使用点分隔的空格隔开。 示例:

<span class="voteBtn voteUp " data-postid="c4fcff79-7f73-493c-b6d8-f05ff1962897"></span>

可以通过以下方式访问CSS文件:

.voteBtn.voteUp {}

您可以使用相同的技术与您的硒和作为一个班轮:

element = driver.find_element_by_css_selector("span.voteBtn.voteDown")

相关问题 更多 >

    热门问题