signed

QiShunwang

“诚信为本、客户至上”

selenium学习中使用的字段(非全部)

2021/4/26 15:32:22   来源:

1. 导入selenium类

from selenium import webdriver

2.创建ChromeOption对象

option = webdriver.ChromeOptions()

3.设置服务的输出日志的路径和级别

driver = webdriver.Chrome(service_args=['--verbose'], service_log_path='C:\\chrome_server.log')

4.谷歌去掉运行后提示的标签

  76版本前:

option.add_argument('--disable-infobars')

  76版本后:

option.add_experimental_option('excludeSwitches', ['enable-automation'])

5.打开浏览器时带上本地用户设置(暂有问题,与去掉提示标签冲突)

option.add_argument(r'user-data-dir=C:\\Users\用户名\AppData\Local\Google\Chrome\User Data')

6.打开浏览器并引入创建的ChromeOption对象

driver = webdriver.Chrome(options=option)

7.浏览器全屏

driver.maximize_window()

8.打开需要的网站

driver.get('http://www.baidu.com')

9.等待方式

  强制等待

# 导入time类
import time
time.sleep(10)

  隐性等待(设置为全局即可)

driver.implicitly_wait(20)

  显性等待(待学习)

 

10.元素定位方式

   通过id定位

driver.find_element_by_id('id')

  通过name定位

driver.find_element_by_name('name')

  通过class name定位(注:如果class="name1  name2",只能选择name1或name2作为名称)

driver.find_element_by_class_name('name1')

  通过tag name定位

driver.find_element_by_tag_name('标签名称')

  通过link定位(按照内容进行全匹配)

driver.find_element_by_link_text('全部内容')

  通过partial link定位(按照内容进行部分匹配)

driver.find_element_by_partial_link_text('部分内容')

  通过xpath定位

driver.find_element_by_xpath('xpath')

11.xpath定位使用的表达式

表达式

说明

/

绝对定位,从根节点选取

//

相对定位,从匹配选择的当前节点选取节点,不需考虑它们的位置

.

选取当前节点

..

选取当前节点的父

@

选取属性,例:@id="XX",属性需放在[ ]中

*

通配符,匹配所有,例://*

@*通配符,匹配所有属性,例://*[@*="XX"]