无法通过XPath,硒找到元素

时间:2019-02-13 14:17:13

标签: python selenium

我想删除Shazam的歌曲标题。

我设法登录,但是当我尝试通过xpath获取标题时,硒却无法找到元素。我认为问题在于shazam是一个动态网站。

code

2 个答案:

答案 0 :(得分:1)

“剪贴簿歌曲标题”

我建议将find_element_by_xpath更改为find_elements_by_xpath,因为您要查找的元素多于1个。之后,您可以遍历此元素列表

答案 1 :(得分:0)

您的代码正确无误,但该页面中没有您要搜索的元素(//div[@class='title']),请通过手动检查再次进行检查。

下面是修改后的代码,要获取标题-您需要在title对象上调用driver

from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('C:\\NotBackedUp\\chromedriver.exe')
driver.get("https://www.shazam.com/myshazam")
print("Before switching title : ", driver.title)
sleep(3)

window_before = driver.window_handles[0]
driver.find_element_by_xpath("(//div[@id='/login/app/myshazam']/a)[1]").click()
window_after = driver.window_handles[1]
driver.switch_to_window(window_after)
print("After switching title : ", driver.title)
driver.find_element_by_id("email").send_keys('some email')
driver.find_element_by_id("pass").send_keys('some password')
driver.find_element_by_id("loginbutton").click()

driver.switch_to_window(window_before)
print("After switching back title : ", driver.title)

希望对您有帮助...