因此,我已经看到许多有关此类错误的答案,并且实现了隐式等待,以便为按钮加载留出时间。我已经检查过了,它似乎不在iframe中。此外,当我通过交互式控制台运行相同的代码时,它实际上可以工作。 这是我的代码:
from selenium import webdriver
from time import sleep
class TinderBot():
def __init__(self):
self.driver = webdriver.Chrome()
def login(self):
self.driver.get('https://tinder.com')
self.driver.implicitly_wait(3)
fb_btn = self.driver.find_element_by_xpath('//*[@id="content"]/div/div[1]/div/div/main/div/div[2]/div[2]/div/div/span/div[2]/button')
fb_btn.click()
bot = TinderBot()
bot.login()
答案 0 :(得分:0)
我认为问题出在xpath而不是hidden_wait() 尝试给通用xpath这样的东西'// * [@ id =“ content”] // button'
def login(self):
self.driver.get('https://tinder.com')
self.driver.implicitly_wait(3)
fb_btn = self.driver.find_element_by_xpath('//*[@id="content"]//button')
fb_btn.click()
答案 1 :(得分:0)
所以我明白了,问题是当我去检查页面时,由于我的屏幕很小,因此html以及按钮的xpath都会改变。因此,当代码找到它时,它就不存在了。