python xpath selenium

xpath 或运算

 model_node_list = self.driver.find_elements_by_xpath(
                '//[@id="cc"]/div[6]/div[1]/ul/li/a[1]|//[@id="cc"]/div[6]/div[2]/ul/li/a[1]')

获取父节点

t=node.find_element_by_xpath('..')

模拟hover事件

from selenium import webdriver
from selenium.webdriver import ActionChains

from mysqlHelper import MysqlHepler

class Proccessor:
    def __init__(self):
        self.driver = webdriver.Chrome("C:\\software\\chromedriver_win32\\chromedriver.exe")
        self.cnt = True
        pass

    def start(self):
        self.driver.maximize_window()
        self.driver.get("http://www.mtmchina.cn")
        node = self.driver.find_element('//*[@id="brands"]')
        model_hover = ActionChains(self.driver).move_to_element(node)
        model_hover.perform()

proccessor = Proccessor()
proccessor.start()

根据css属性选择节点

model_node_list = self.driver.find_elements_by_xpath('//*[@id="productfinder"]/ul/li[contains(@style,"display: block")]')

获取某一个元素下面的子元素

self.driver.maximize_window()
        self.driver.get("http://www.mtmchina.cn")
        li_node_list = self.driver.find_elements_by_xpath('//*[@id="productfinder"]/ul[2]/li')
        link_num = 1
        for li in li_node_list:
        #获取当前元素下面的a元素
            a = li.find_element_by_css_selector('a')
            href = a.get_attribute('href')
            if href == "http://www.mtmchina.cn/#":
                continue

            self.url_list.append(href)
            print(li.text, href)
            link_num += 1
        print("总连接", link_num)

获取节点的class

cl = li.get_attribute("class")

设置节点Id

self.driver.execute_script('arguments[0].setAttribute("id","nurmemet_img_id");', img)
sel_items = self.driver.find_elements_by_xpath(
                    '//*[@id="content_container"]/div[1]/a[contains(@class, "slider_image_selected")]')
info_side=self.driver.find_element_by_class_name("information-side")
#information-side 下面的节点h1
h1=info_side.find_element_by_css_selector("h1")
# information-side下面的节点h2
h2=info_side.find_element_by_css_selector("h2")
#information-side 下面的节点clearfix
clearfix=info_side.find_element_by_css_selector(".clearfix");
#information-side 下面的节点product-feautured-specification
ul=info_side.find_element_by_css_selector(".product-feautured-specification");

等待元素的出现

from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(self.driver, 40)
            element = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'information-side')))
时间: 2024-10-29 20:46:29

python xpath selenium的相关文章

[python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈

        我自认为这是自己写过博客中一篇比较优秀的文章,同时也是在深夜凌晨2点满怀着激情和愉悦之心完成的.首先通过这篇文章,你能学到以下几点:        1.可以了解Python简单爬取图片的一些思路和方法         2.学习Selenium自动.测试分析动态网页和正则表达式的区别和共同点         3.了解作者最近学习得比较多的搜索引擎和知识图谱的整体框架         4.同时作者最近找工作,里面的一些杂谈和建议也许对即将成为应届生的你有所帮助         5.当

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

        前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.         希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

win7下python使用selenium 定位后截取图片问题

问题描述 win7下python使用selenium 定位后截取图片问题 定位后用imageGrab对img元素截图,代码如下: checkcodeimg = browser.find_element_by_xpath("//img[@id='randimg']") x1 = checkcodeimg.location['x'] y1 = checkcodeimg.location['y'] x2 = x1 + checkcodeimg.size['width'] y2 = y1 +

[python爬虫] Selenium爬取新浪微博内容及用户信息

在进行自然语言处理.文本分类聚类.推荐系统.舆情分析等研究中,通常需要使用新浪微博的数据作为语料,这篇文章主要介绍如果使用Python和Selenium爬取自定义新浪微博语料.因为网上完整的语料比较少,而使用Selenium方法有点简单.速度也比较慢,但方法可行,同时能够输入验证码.希望文章对你有所帮助~ 爬取结果 首先可以爬取用户ID.用户名.微博数.粉丝数.关注数及微博信息.其中微博信息包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等等.如下图所示: 同时也可以爬取微博的众多用户

python的selenium怎么获取大量文本

问题描述 python的selenium怎么获取大量文本 t=driver.find_element_by_css_selector(".yu_info .dd:first-child span").text for i in t: print i 比如这段代码,我定位成功后,只会输出匹配到的第一项,我该怎么才能输出匹配到的所有项呢?求大神解答,谢谢 解决方案 对不起,我帮不到你. 解决方案二: 那就是你只匹配到了一个结果,你的css等选择器是否正确

[Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

        前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是通过JavaScript动态加载的,故通过Phantomjs模拟浏览器加载获取.         希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)     

[Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

        前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(InfoBox),这也是毕业设计实体对齐和属性的对齐的语料库前期准备工作.希望文章对你有所帮助~ 源代码 # coding=utf-8 """ Created on 2015-09-04 @author: Eastmount """ i

python+webdriver+selenium测试web能测试哪些内容,具体流程是哪样的

问题描述 python+webdriver+selenium测试web能测试哪些内容,具体流程是哪样的 本人没有任何经验,目前领导要推进一下自动化测试的事情, 测试一个web网站,在网上搜索关于web测试的测试重点和测试内容, 没有什么具体的收获,在这里想问一下有经验的同事大神们, 如何按部就班的学习以及实现,目前的具体状况是本人用seleniumIDE录制脚本, 转化为python语言,转化完成后能实现各个浏览器的回放, 转化完之后的脚本如何加以利用? 录制的脚本很多都是不能回放的,例如我们的

python xpath语法与lxml库

From:http://cuiqingcai.com/2621.html 前言 XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力. xPath 同样也支持HTML.XPath 是一门小型的查询语言,这里与 python 爬虫相结合来介绍.python 中 lxml库使用的是 Xpath 语法,同样是效率比较高的解析方法. lxml用法源自 lxml python 官方文档:htt