python使用selenium webdriver点击百度的搜索设置按钮,设定每页显示条数
要点:
1. ActionChains(driver) 生成用户行为,
2.move_to_element(menu) 鼠标移动到某个元素
3.perform() 鼠标停留
4.switch_to_alert().accept() 选择到一个警告弹窗,确认
from selenium.myfox import myfox from selenium import webdriver driver = myfox().work() #这是我前面写的不需要重新打开浏览器的小工具 time.sleep(2) driver.get("http://www.baidu.com") driver.implicitly_wait(3) shezhi=driver.find_element_by_xpath("//div[@id='u1']/a[@class='pf']") #选中搜索这个按钮 webdriver.ActionChains(driver).move_to_element(shezhi).perform() #让鼠标停留在这个按钮 time.sleep(2) driver.find_element_by_link_text("搜索设置").click() #点击搜索设置 driver.find_element_by_name("NR").click() #点击 每页显示多少条 这个菜单 driver.find_element_by_xpath("//option[@value='50']").click() #点击 50条 选项 driver.find_element_by_link_text('保存设置').click() #点击保存 time.sleep(2) driver.switch_to_alert().accept() #点击保存后,会弹出窗口让你确认 time.sleep(3) driver.find_element_by_id("kw").send_keys("selenium") #再进行搜索 driver.find_element_by_id("su").click()
##要注意的是,perform()停留那一个步骤,我在调试时,可能残存了cookies什么的,反正是审查元素(f12)后,运行会出错的,重新打开就好了