1.莫名其妙抓不到元素,要去看句柄,是不是没有切换
h=driver.current_window_handle nh=driver.window_handles for i in nh: if i!=h: driver.switch_to.window(i)
2.hover后才能看到的元素,要hover或者点击才能继续操作
mine=driver.find_element_by_id("j-username-color") ActionChains(driver).move_to_element(mine).perform()
3.find_elements的时候要是同级别,才能往下click,简化了下网页代码:
<ul id="collection-view"> <li> <div class="collection-item"> <div class="item-action"> <button id="568" class="btn btn-primary js-apply">使用皮肤</button> </div> </div> </li> <li> <div class="collection-item"> <div class="item-action"> <button id="567" class="btn btn-primary js-apply">使用皮肤</button> </div> </div> </li></ul>
用 x= driver.find_elements_by_css_selector(".item-action>button"),然后想x[i].click()是不行的
hov=driver.find_elements_by_css_selector("ul#collection-view>li") for i in range(0, 8): hov[i].click() #li要hover或click才显示具体内容 hov[i].find_element_by_css_selector("div.item-action>button").click()
最后终于抓到了,断断续续折腾半个月,算是新起点了
时间: 2024-10-05 06:44:25