selenium常用知识点

+ python技术交流群,一起学习:819345479

1、新标签页的打开和关闭

# driver.get(zi_url) # 这样执行在下面回退的时候会出现回退到首页的情况 newwindow = 'window.open(' + "'" + zi_url + "'" + ')' driver.execute_script(newwindow)#打开新的标签面 driver.switch_to_window(driver.window_handles[1]) #移动句柄,对新打开页面进行操作

driver.close() # 关闭 driver.switch_to_window(driver.window_handles[0])

 

2、区分以下两个查找,前者反悔的是 tr 的个数,后者返回的是 elements driver.find_elements(by='xpath', value='//*[@id="_container_patent"]/div/table/tbody/tr') driver.find_element_by_xpath('//*[@id="nav-main-patentCount"]/span')

3、灵活运行以下两个查找方法(有的页面元素的选择器不同使用时可能会不管用) driver.find_element_by_xpath

driver.find_element_by_css_selector

4、查询数组时返回的结果。fetchone()如果数据库中有数据则返回改数据,若无则返回 Nonefetchall 有无数据返回的都是一个元组。

sql3 = "select inventionname from com_patent where inventionname=" + "'" + sfwn + "'" cursor.execute(sql3)

db.commit()

results3 = cursor.fetchone() results3 = cursor.fetchall()

5selenium 中的鼠标悬浮于点击事件导包 :from selenium.webdriver.common.action_chains import *

bb2 = driver.find_element_by_xpath('xxxxxxxx') #找到对应的位置 ActionChains(driver).move_to_element(bb2).perform() #鼠标悬浮driver.find_element_by_css_selector('').click()#鼠标点击

6、注意页面遮挡情况

# 点击反馈消除页面覆盖

driver.find_element_by_css_selector('body>div:nth-child(2)>div.backTopPcNew.point.text-center.b-c-white.sec-c4 > div:nth-child(2)').click()

time.sleep(2)

driver.find_element_by_css_selector('#_modal_container > div > div > div > div.modal-header > span').click() time.sleep(3)

7、selenium 下载全部网页源代码和部分

driver.get(url)

page = driver.page_source # 网页源码

element = d.find_element(by='id', value='js_content')   # 正文

cont = element.get_attribute('innerHTML')

 

8、利用正则多个分隔符切分

list12 = re.split(r'{|}', json_data)

9、模拟鼠标滚轮滑动:

js="varq=document.documentElement.scrollTop=100000" # 滑到最底端

d.execute_script(js)

time.sleep(3)

#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作

js="var q=document.getElementById('id').scrollTop=100000"

driver.execute_script(js)

猜你喜欢

转载自blog.csdn.net/genius_man/article/details/80903331
今日推荐