在项目实践过程中,可能会存在给定正确的定位方式和值,但是元素定位不到的情况。这种情况下,怎么来定位呢?下面就来说说三种特别的情况:
1、点击元素后,浏览器打开了一个新的标签页(新的窗口),这时候浏览器定位还停留在原来的窗口,没有切换到最新的窗口。这里需要用到切换窗口,driver.switch_to.window
使用隐性等待报错:raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
解决方案:driver.switch_to.window,切换到最新的标签页(窗口),代码示例如下:
driver.switch_to.window(driver.window_handles[-1])
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait #导包等待的对象
from selenium.webdriver.support import expected_conditions as EC #等待的条件的集合包
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("http://xxx.testedu.com/index.php?s=/index/search/index.html")
ele=driver.find_el