Python自动化学习--元素定位
Posted 小哈别闹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化学习--元素定位相关的知识,希望对你有一定的参考价值。
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.baidu.com/index.php?tn=25017023_6_pg&ssl_s=1&ssl_c=ssl1_16d7f66ac98") ‘‘‘ # 元素定位之 id 定位 driver.find_element_by_id("kw").send_keys("华为") driver.find_element_by_id("su").click() ‘‘‘ ‘‘‘ #元素定位之 class name 定位 driver.find_element_by_class_name("s_ipt").send_keys("荣耀") driver.find_element_by_id("su").click() ‘‘‘ ‘‘‘ #元素定位之 tag 定位 driver.find_element_by_tag_name("input").send_keys("linux") driver.find_element_by_id("su").click() ‘‘‘ ‘‘‘ #元素定位之 link text 定位 driver.find_element_by_link_text("新闻").click() time.sleep(3) ‘‘‘ """ #元素定位之 partial link 定位 (类似于模糊定位) driver.find_element_by_partial_link_text("hao").click() time.sleep(3) """ ‘‘‘ #元素定位之 XPath 定位 绝对路径定位 driver.find_element_by_xpath(‘//*[@id="kw"]‘).send_keys("国庆盛典") driver.find_element_by_xpath(‘//*[@id="su"]‘).click() time.sleep(3) ‘‘‘ ‘‘‘ #元素定位之 XPath 定位 元素属性定位 driver.find_element_by_xpath(‘//input[@id="kw"]‘).send_keys("小米官网") driver.find_element_by_xpath(‘//input[@id="su"]‘).click() time.sleep(3) ‘‘‘ ‘‘‘ #元素定位之 XPath 元素属性与层级结合定位 driver.find_element_by_xpath(‘//span[@class="bg s_ipt_wr quickdelete-wrap"]/input‘).send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #元素定位之 XPath 逻辑运算符定位 driver.find_element_by_xpath("//*[@id=‘kw‘ and @class=‘s_ipt‘]").send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #元素定位之 XPath contains 方法 driver.find_element_by_xpath("//span[contains(@class,‘s_ipt_wr‘)]/input").send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #元素定位之 XPath text() 和 contains 配合使用,实现link text 定位的效果 driver.find_element_by_xpath("//a[contains(text(),‘hao‘)]").click() time.sleep(2) ‘‘‘ ‘‘‘ #CSS 定位 通过 class 选择器定位 写法:.class driver.find_element_by_css_selector(".s_ipt").send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #CSS 定位 通过 id 选择器定位 写法:#id driver.find_element_by_css_selector("#kw").send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #CSS 定位 通过标签层级关系定位 写法:element > element driver.find_element_by_css_selector("span > input").send_keys("裤子") time.sleep(2) ‘‘‘ ‘‘‘ #CSS 定位 通过属性定位 #driver.find_element_by_css_selector("[autocomplete=off]").send_keys(‘裤子‘) driver.find_element_by_css_selector("[name=‘wd‘]").send_keys(‘裤子‘) driver.find_element_by_css_selector("[type=‘submit‘]").click() time.sleep(2) ‘‘‘ ‘‘‘ #CSS 定位 组合定位 driver.find_element_by_css_selector("form.fm > span > input.s_ipt").send_keys("裤子") driver.find_element_by_css_selector("form#form > span > [type=‘submit‘]").click() time.sleep(2) ‘‘‘ ‘‘‘ #By方式的 8 种定位方式,写法差不多,只是需要将By方式导入才能使用 from selenium.webdriver.common.by import By driver.find_element(By.ID,"kw").send_keys("裤子") driver.find_element(By.NAME,"wd").send_keys("裤子") driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("裤子") driver.find_element(By.TAG_NAME,"input").send_keys("裤子") driver.find_element(By.LINK_TEXT,"新闻").click() driver.find_element(By.PARTIAL_LINK_TEXT,"hao").click() driver.find_element(By.XPATH,"//*[@class=‘bg s_btn‘]") driver.find_element(By.CSS_SELECTOR,"span.bg s_btn_wr > input#su") ‘‘‘ time.sleep(2) driver.quit()
以上是关于Python自动化学习--元素定位的主要内容,如果未能解决你的问题,请参考以下文章