我想构建一个喜欢网页中评论的漫游器。评论下方有一个喜欢和不喜欢的按钮。
评论的xPath://*[@id="commentText-40538697"]/span
类似按钮的xPath:
//*[@id="commentText-40538697"]/div[2]/div[1]/label[1]
您可以看到我是否获得评论ID(在上面的示例中为40538697),我可以轻松地单击该按钮。按钮,每个评论的ID都在变化。所以我用下面的代码得到元素
xpath = driver.find_element_by_xpath("//*[contains(text(), 'COMMENT')]")
-也是元素的属性。
xpath.get_property出[113]:>
有什么方法可以获取网页中特定文本的div id?
您可以尝试在xpath下面提取基于关键字的注释。您也可以使用以下同级项检查show more的存在并单击它
YourText="Fikrini empoze"
//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,'"+YourText+"')]
显示更多文本
//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,'Fikrini empoze')]//following-sibling::span[@class='showMoreText']
like按钮:
//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,' Fikrini empoze')]//following-sibling::label[@class='like']
不喜欢
//div[@class='js-comments-wrapper commentsWrapper']//div[@class="comment js-comment"]//div[@class="js-text-wrapper commentText"][contains(.,' Fikrini empoze')]//following-sibling::label[@class='dislike']