selenium是最廣泛使用的開源Web UI(用戶界面)自動化測試套件之一。
selenium: 自動化測試工具
讓我的程序連接到浏覽器,讓浏覽器來完成各種復雜的操作,我們只接受最終的結果
可以打開浏覽器。然後像人一樣去操作浏覽器, 程序員可以selenium中直接提取網頁上的各種信息
1、
pip install selenium -i清華源
2、下載浏覽器驅動; https://npm.taobao.org/mirrors/chromedriver
3、把解壓縮的浏覽器驅動chromedriver 放在python解釋器所在的文件夾
4、讓selenium啟動谷歌浏覽器
----首先創建浏覽器對象(以Chrome為例)
driver = Chrome()
使用Get方法 -driver.get("www.yiibai.com")
;
使用Navigate方法 -driver.navigate().to("https://yiibai.com/selenium/");
web.find_element_by_xpath('//[@id="JuserName"]').send_keys('***')
driver.find_element_by_xpath().clear();
driver.find_element_by_xpath(**).getText();
driver.find_element_by_xpath(**).click();
driver.navigate().back();
driver.navigate().forward();
driver.navigate().refresh();
driver.close();
driver.quit();
driver.switch_to_window(web.window_handles[])
返回上一個窗口
web.switch_to_default_content()
web.switch_to_frame(**)
WebElement element = driver.findElement(By.name("source"));
WebElement target = driver.findElement(By.name("target"));
14.無頭浏覽器的實現
opt = Options()
```java
# opt.add_argument("--headless")
# opt.add_argument("--disable-gpu")
opt.add_argument('--disable-blink-features=AutomationControlled')
#1.創建浏覽器對象
web = Chrome(options=opt)
from selenium.webdriver.chrome.options import Options
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains
opt = Options()
# opt.add_argument("--headless")
# opt.add_argument("--disable-gpu")
opt.add_argument('--disable-blink-features=AutomationControlled')
#1.創建浏覽器對象
web = Chrome(options=opt)
# 2.打開一個網址
web.get("https://kyfw.12306.cn/otn/resources/login.html")
print(web.title)
web.find_element_by_xpath('//*[@id="toolbar_Div"]/div[2]/div[2]/ul/li[2]/a').click()
web.find_element_by_xpath('//*[@id="J-userName"]').send_keys('用戶名')
web.find_element_by_xpath('//*[@id="J-password"]').send_keys('密碼')
web.find_element_by_xpath('//*[@id="J-login"]').click()
time.sleep(3)
index = web.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')
ActionChains(web).drag_and_drop_by_offset(index, 300, 0).perform()
from chaojiying import Chaojiying_Client
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
web = Chrome()
web.get("https://www.chaojiying.com/user/login/")
image = web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/div/img").screenshot_as_png
chaojiying = Chaojiying_Client('用戶名', '密碼', 'id')
print(chaojiying.PostPic(image, 1902))
dic = chaojiying.PostPic(image, 1902)
vs = dic['pic_str']
web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[1]/input").send_keys('用戶名')
web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[2]/input").send_keys('密碼')
web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[3]/input").send_keys(vs,Keys.ENTER)