selenium定位元素失败

我想定位一个登录元素,但是它返回了:

<selenium.webdriver.remote.webelement.WebElement (session="b826dd021dc468c1c1a40e1e7e5bc61b", element="a8344152-78f5-4854-9372-6e9d5eed5ffb")>

后续的点击操作也没有成功。

img

我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.get('https://www.icourse163.org/learn/SWJTU-1206448817?tid=1467043452#/learn/forumdetail?pid=1328357063')
time.sleep(3)
#elements = driver.find_elements(by=By.ID, value='auto-id-1649904715596')
elements=driver.find_element(by=By.CSS_SELECTOR,value='div.unlogin>a')
print(elements)

elements.click

value='div.unlogin>a'改成div>div>a试试,确定是不是唯一的,不是的话换成上面的id定位,但是element别加s

直接定位a标签点击就行


from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome('/home/bugpz/下载/chromedriver')
driver.get('https://www.icourse163.org/learn/SWJTU-1206448817?tid=1467043452#/learn/forumdetail?pid=1328357063')
time.sleep(3)
driver.find_element(by=By.CSS_SELECTOR, value='.f-f0.navLoginBtn').click()

用xpath定位//div[@class="unlogin"]/a这个试试

driver.find_element(by=By.XPATH, value='//div[@class="unlogin"]/a').click()

建议你直接在开发者工具中复制该元素的css的样式