一、css定位
1属性定位
1.1 id定位
driver.find_element_by_css_selector('#kw').send_keys("haha")
1.2class定位
driver.find_element_by_css_selector('.s_ipt').send_keys("haha")
1.3标签定位
driver.find_element_by_css_selector('input').send_keys("haha")
1.4其他属性
driver.find_element_by_css_selector('[name='kw']').send_keys("haha")
可以通过任意属性定位,但不限于id、class、name、tag、link
1.2层级关系
两层之间用>

定位子节点:

driver.find_element_by_css_selector('div#u1>a:nth-child(3)').send_keys("haha")
二、juqery
这里不充分

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
jq = '''
$("#kw").val('hahah');
$(".su").click()
'''
driver.execute_script(jq)
driver.close()
driver.quit()
注意:jquery遇到iframe会有点问题
获取对象返回值
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
#获取title值
print(driver.title)
# 获取元素属性值
t = driver.find_element_by_id("su").get_attribute("name")
print(t)
# 判断显示或隐藏
d = driver.find_element_by_id("su").is_displayed()
print(d)
# 获取浏览器名称
print(driver.name)
# 获取元素size
s = driver.find_element_by_id("su").size
print(s)
driver.close()
driver.quit()
执行结果
百度一下,你就知道
True
chrome
{'height': 36, 'width': 100}
网友评论