【selenium】- click方法从一个界面跳转到另一个界面无响应直接关闭解决方法
1,如果你要跳转的界面,查询xpath链接时候出现href,这时候需要获得元素链接才可以打开
可以参考这个博主的csdn,讲的很清楚
代码如下:
from selenium import webdriver
# Edge浏览器,你使用哪个浏览器,写哪个浏览器
driver = webdriver.Edge()
#XPATH后面的定位元素需要填写自己的,其他的不用改变
el = driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a')
url = el.get_attribute("href");
#上面用的是driver,这里也使用driver
driver.get(url);
time.sleep(2)
2,包没有用对,一般是加这些,可以试一下,我的不是这个问题
from selenium.webdriver import ActionChains
from selenium.webdriver.common.action_chains import ActionChains
3,需要加下拉滑动代码和强制等待,因为你的元素定位可能在界面没有完全显示,或者界面等待时间太短
# 目标元素,使用js语言,写你自己的xpath
ele = driver.find_element('xpath', '/html/body/div[3]/div[1]/div[2]/ul/li[1]/a')
# 向下滚动至目标元素可见
js = "arguments[0].scrollIntoView();"
driver.execute_script(js, ele)
# # 向上滚动至目标元素可见
# js = "arguments[0].scrollIntoView(false);"
# driver.execute_script(js, ele)
time.sleep(5)
4,或者click方法不行就换一种
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# Edge浏览器
driver = webdriver.Edge()
#click是使用不了的情况下
driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a').send_keys(Keys.ENTER)
5,有的博主说最好一开始将浏览器界面最大化,这里也提供如下代码,
# Edge浏览器
driver = webdriver.Edge()
#将浏览器最大化
driver.maximize_window()