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.

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')))
目录
相关文章
|
3月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
161 5
|
2月前
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href='example.com']` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
|
2月前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
124 6
|
3月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
3月前
|
数据采集 XML 数据格式
Python爬虫--xpath
Python爬虫--xpath
29 1
|
3月前
|
Web App开发 Java 测试技术
使用selenium+chromedriver+xpath爬取动态加载信息(一)
使用selenium+chromedriver+xpath爬取动态加载信息(一)
98 1
|
3月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
4月前
|
Web App开发 测试技术 持续交付
自动化测试的利器:Selenium与Python的完美结合
【9月更文挑战第21天】在软件开发的世界里,测试是确保产品质量的关键步骤。随着敏捷开发和持续集成的流行,自动化测试工具变得尤为重要。本文将介绍如何使用Selenium和Python进行高效的自动化测试,不仅提供代码示例,还深入探讨如何设计测试用例、选择正确的测试框架、以及如何整合到CI/CD流程中。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。
61 3
|
3月前
使用selenium+chromedriver+xpath爬取动态加载信息(二)
使用selenium+chromedriver+xpath爬取动态加载信息(二)
59 0
|
4月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
88 0