Python自动化教程之操控元素的基本方法

Python与SEO 投稿&转载 557浏览

点击这里,边看视频讲解,边学习以下内容

选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以 操控 元素了。

操控元素通常包括

  • 点击元素
  • 在元素中输入字符串,通常是对输入框这样的元素
  • 获取元素包含的信息,比如文本内容,元素的属性

点击元素

点击元素 非常简单,就是调用元素WebElement对象的 click方法。前面我们已经学过。

这里我们要补充讲解一点。

当我们调用 WebElement 对象的 click 方法去点击 元素的时候, 浏览器接收到自动化命令,点击的是该元素的 中心点 位置 。

例如,对于下面的这样一个元素

查找元素

我们要点击 添加客户 这个按钮,既可以点击 右边对应的 绿色框子总的button 元素 ,也可以点击红色框子中的span元素 。

因为这两个元素的中心点都是 button 内部,都是有效点击区域

输入框

输入字符串 也非常简单,就是调用元素WebElement对象的send_keys方法。前面我们也已经学过。

如果我们要 把输入框中已经有的内容清除掉,可以使用WebElement对象的clear方法

请大家点击打开这个网址

并且按F12,观察HTML的内容

我们要写一个自动化程序:要求在输入框中填入姓名:白月黑羽。

而且要做到输入框中已经有的提示字符,需要先 清除掉

代码应该如下

element = wd.find_element(By.ID, "input1")

element.clear() # 清除输入框已有的字符串
element.send_keys('白月黑羽') # 输入新字符串

获取元素信息

获取元素的文本内容

上一章,我们已经知道,通过WebElement对象的 text 属性,可以获取元素 展示在界面上的 文本内容。

比如

element = wd.find_element(By.ID, 'animal')
print(element.text)

获取元素属性

通过WebElement对象的 get_attribute 方法来获取元素的属性值,

比如要获取元素属性class的值,就可以使用 element.get_attribute('class')

如下:

element = wd.find_element(By.ID, 'input_name')
print(element.get_attribute('class'))

执行完自动化代码,如果想关闭浏览器窗口可以调用WebDriver对象的 quit 方法,像这样 wd.quit()

获取整个元素对应的HTML

要获取整个元素对应的HTML文本内容,可以使用 element.get_attribute('outerHTML')

如果,只是想获取某个元素 内部 的HTML文本内容,可以使用 element.get_attribute('innerHTML')

获取输入框里面的文字

对于input输入框的元素,要获取里面的输入文本,用text属性是不行的,这时可以使用 element.get_attribute('value')

比如

element = wd.find_element(By.ID, "input1")
print(element.get_attribute('value')) # 获取输入框中的文本

获取元素文本内容2

通过WebElement对象的 text 属性,可以获取元素 展示在界面上的 文本内容。

但是,有时候,元素的文本内容没有展示在界面上,或者没有完全完全展示在界面上。 这时,用WebElement对象的text属性,获取文本内容,就会有问题。

出现这种情况,可以尝试使用 element.get_attribute('innerText') ,或者 element.get_attribute('textContent')

推荐阅读

Python实现聚合问答采集文章

最近在一个社区得到了一个用python聚合问答的工具,但是因为已经打包成程序了,所以无法研究,于是在网上找了一个网友分享的源代码,转载于此,供志愿者学习和后期扩展。这个工具可以通过头条搜索、百度下拉结果、搜狗下拉、百度知道搜索、新浪爱问、搜狗问问,将......

pycharm文件大小超过配置限制(2.56M),代码洞察功能不可用

Pycharm软件有默认的文件大小限制,一般为2.56MB,如果打开大于2.56MB的文件,会提示“文件大小超过配置限制,code insight功能不可用。”这时候我们可以通过修改相关配置来解决这个问题。单击帮助>>编辑自定义属性...在菜单栏上,......

pycharm怎么用国内镜像安装第三方库

1、在pycharm中打开Terminal,如下图。 2、以安装pymysql库为例,输入以下命令回车即可使用镜像安装。 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql ......