selenium的使用(一)

selenium驱动对象/元素获取/发送信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
python复制代码import selenium
import urllib
import selenium.webdriver
import selenium.webdriver.common.keys
import time

"""
步骤:
1.开启webdriver对象
2.get获取网页信息
3.通过元素定位想要的位置信息
4.send_keys输入想要输入的信息
5.按键进行操作
"""

driver = selenium.webdriver.Chrome(r"C:\Users\xxx\Desktop\chromedriver.exe")
driver.get("http://www.baidu.com")
elem = driver.find_element_by_id("kw")

elem.send_keys("python")
time.sleep(3)
elem.send_keys(selenium.webdriver.common.keys.Keys.RETURN)

time.sleep(20)
driver.close()

模拟登录xxxx网站

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
python复制代码import selenium
import selenium.webdriver
import selenium.webdriver.common.keys
import time

driver = selenium.webdriver.Chrome(r"C:\Users\xxx\Desktop\chromedriver.exe")
driver.get("https://account.xxxxx.com/signin?returnUrl=https%3A%2F%2Fwww.xxx.com%2F")
elem = driver.find_element_by_id("LoginName")
elem.send_keys("*******")
elem2 = driver.find_element_by_id("Password")
elem2.send_keys("******")
time.sleep(3)
elem2.send_keys(selenium.webdriver.common.keys.Keys.RETURN)
time.sleep(10)
pagesource = driver.page_source
print(pagesource)

time.sleep(20)
driver.close()

page_source和find_element_by_xapth

相较于by_class_name的不确定性,使用by_xpath更能很好的定位元素的位置,by_xpath是最后的杀手锏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
python复制代码import selenium
import selenium.webdriver
import selenium.webdriver.common.keys
import time
driver = selenium.webdriver.Chrome(r"C:\Users\xxxx\Desktop\chromedriver.exe")
driver.get("https://talent.baidu.com/external/baidu/index.html#/social/2/python")
time.sleep(5)
for i in range(10):
# elem = driver.find_element_by_class_name("next")
"""
相较于by_class_name的不确定性,使用by_xpath更能很好的定位元素的位置,by_xpath是最后的杀手锏
"""
elem = driver.find_element_by_xpath("//*[@class="pagination"]/ul//li[last()]/a")
print(elem)
time.sleep(3)

elem.click()
pagesource = driver.page_source
print(pagesource)
print("--"*40)

time.sleep(40)
driver.close()

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%