Selenium必备知识
浏览器窗口最大化
maximize_window()函数可将模拟浏览器窗口最大化
from selenium import webdriver
w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')
XPath法定位
打开百度
定位输入框并输入selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')
w.find_element(By.XPATH,'//*[@id="kw"]').send_keys('selenium')
CSS法定位
定位到百度一下并点击
from selenium import webdriver
from selenium.webdriver.common.by import By
w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')
w.find_element(By.XPATH,'//*[@id="kw"]').send_keys('selenium')
w.find_element(By.CSS_SELECTOR,'#su').click()
切换浏览器同级页面
handles = w.window_handles
w.switch_to.window(handles[0])
w.switch_to.window(handles[-1])
w.switch_to.window(handles[1])
切换子页面(网页中的网页)
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。
它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。
另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。
w.switch_to.frame('子页面的name属性值或者id属性值')
w.switch_to.default_content()
如果遇到没有id属性和name属性为空的情况,这时候就需要先定位iframe。
iframe=w.find_element(By.TAG_NAME,'iframe')
w.switch_to.frame(iframe)
|