博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用python定位网页上的元素
阅读量:6462 次
发布时间:2019-06-23

本文共 1598 字,大约阅读时间需要 5 分钟。

1. 想对网页上的元素进行操作,首先需要定位到元素。

以百度首页为例:

输入以下代码,打开百度首页:

# coding = gbkfrom selenium import webdriverchrome_driver_path = "C:\Python27\selenium\webdriver\chromedriver\chromedriver"global browserbrowser = webdriver.Chrome(chrome_driver_path)url_int = "https://www.baidu.com/"browser.get(url_int)print "Open baidu"

2. 在打开的百度首页,右键点击,选择“查看网页源代码”。

以下网页源代码是与百度输入框和“百度一下”按钮有关的,先提取在这里,方便后续定位。

 3. 定位百度输入框

通过id定位:

browser.find_element_by_id("kw")

通过name定位:

browser.find_element_by_name("wd")

通过标签名tag_name定位:

browser.find_element_by_tag_name("input")

通过class_name定位:

browser.find_element_by_class_name("bg_s_btn_wr")

通过css定位:

  •  以id定位:
browser.find_element_by_css_selector("a[id=\"kw\"]")
  • 以name定位:
browser.find_element_by_css_selector("a[name=\"wd\"]")

 通过XPath定位:(XPath是一种在XML文档中定位元素的语言)

  • attribute属性定位(定位input标签下,id=kw的元素):
browser.find_element_by_xpath("//input[@id='kw']")
  • id相关性定位(/form/span/input层级标签下,div标签下,id=fm的元素):
browser.find_element_by_xpath("//div[@id='fm']/form/span/input")
  • id为check的tr,定位它的第2个td:
browser.find_element_by_xpath("tr[@id='check']/td[2]")
  • position位置定位(第7个tr里面的第2个td):
browser.find_element_by_xpath("//tr[7]/td[2]")
  • href水平参考定位(a标签下,查找包含‘网页’的文本text元素):
browser.find_element_by_xpath("//a[contains(text(),'网页')]")
  • link定位(a标签下,查找链接为'href='http://www.baidu.com/'的元素):
browser.find_element_by_xpath("//a[@href='http://www.baidu.com']")

 通过link定位(可以查找文字链接,打开贴吧链接):

browser.find_element_by_link_text("贴吧")browser.find_element_by_partial_link_text("贴")

 4. 定位”百度一下“按钮

通过class_name定位

browser.find_element_by_class_name("bg_s_btn_wr")

 更多参考资料,请参考:

转载于:https://www.cnblogs.com/sophia194910/p/5048186.html

你可能感兴趣的文章
php i=i 怎么实现,ThinkPHP的I方法使用详解
查看>>
java 对输入的字符串处理方法,JavaScript中对字符串操作方法总结--Java免费学习网...
查看>>
java 猫 游戏,crazycat 围住神经猫-小游戏-Java源码 联合开发网 - pudn.com
查看>>
php等差数列,【教案】高中数学-《等差数列》详案展示
查看>>
php脚手架,thinkphp集成前端脚手架Vue-cli的教程图解
查看>>
php多维数组算法,PHP多维数组算法?
查看>>
flash as3与后台php交互用户注册例子,Flash AS3与后台通讯 PHP版
查看>>
php对大小写敏感,PHP大小写敏感规则
查看>>
java pkcs10,话说 类加载过程 第一篇
查看>>
matlab中如何使用help,MATLAB中如何使用help?怎样看matlab的help
查看>>
matlab的函数的代码,10 Matlab 函数与代码风格
查看>>
php日期语言,Php多语言日期:howto?
查看>>
php前台ajax商品遍历,jquery ajax加载数据前台渲染方式 不用for遍历的方法
查看>>
php openapi设计,OpenApi开放平台架构实践
查看>>
java 基本程序,基础 JAVA程序
查看>>
matlab中求解不等式的解,大神们,求个解多元一次不等式的代码,要所有整数解...
查看>>
php的算法是什么,算法是什么?
查看>>
discuz login.php,Discuz!登录,注册,退出接口.
查看>>
matlab 荷兰颜色,insar_matlab 荷兰Delft大学开发的insar(干涉合成孔径雷达)图像处理部分源代码 - 下载 - 搜珍网...
查看>>
Unix php平滑安装扩展,Linux下安装php的扩展scws
查看>>