这里是回答你的问题:
首先,你需要切换到frame
:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import time
binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get('http://rutracker.ignn.ru')
time.sleep(5)
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@src,'tmozs.com/jsonp.php')]"))
time.sleep(5)
driver.find_element_by_xpath("//div[@class='feed-inner']/div[@class='feed-cell'][1]/a[@class='feed-cell-inner' and contains(@href,'http://tmozs.com/info.php?')]").click()
time.sleep(5)
driver.quit()
PS:您可以考虑以诱导ExplicitWait
代替time.sleep()
切换到帧之后,用于元件是可见/点击。
让我知道如果这个回答你的问题。
有一个【答案】(https://stackoverflow.com/questions/45095549/pythonselenium-cant-locate-element/45095830# 45095830)到你的[上一个问题](https://stackoverflow.com/questions/45095549/pythonselenium-cant-locate-element)它可以帮助解决当前问题 – Andersson
@Andersson哪一个? – DebanjanB
@DebanjanB,链接评论 – Andersson