问题描述
我正在尝试查找并单击此按钮。但我总是面对“消息:无法定位元素:”
我尝试了这个选项,但它对我没有帮助:
首先:driver.find_element_by_xpath('//button[contains(text(),"CLaim Now!")]').click()
第二:driver.find_element_by_xpath('//button[@onclick="getClaim()"]').click()
第三:driver.find_element_by_css_selector('a.btn').click()
第四:driver.find_element_by_class_name('btn btn-lg btn-primary').click()
第五:driver.find_element_by_id('roll_button_container').click()
我也使用 time.sleep()
所以时间没有问题
操作流程:在我点击“立即索赔!”之后一个新标签将 打开,但在上一个(我现在正在使用)中 - 我会得到积分。 我需要在项目中自动执行此操作
from selenium import webdriver
import time
driver = webdriver.Firefox (executable_path = "/Users/USER1/Downloads/AUTOMATION/geckodriver")
driver.get("https://LINK.net/")
time.sleep(3)
driver.find_element_by_xpath('/html/body/header/nav/div/div/ul/li[5]/a').click()
time.sleep(3)
element = driver.find_element_by_xpath('/html/body/div[3]/div/div/form/div[1]/input').send_keys("login")
time.sleep(3)
el2 = driver.find_element_by_xpath('/html/body/div[3]/div/div/form/div[2]/input').send_keys("password")
time.sleep(3)
driver.find_element_by_css_selector('#loginForm > div:nth-child(3) > button:nth-child(1)').click()
time.sleep(3)
driver.find_element_by_xpath('//*[@id="test_button"]').click()
time.sleep(3)
#driver.find_element_by_xpath('//button[contains(text(),"CLaim Now!")]').click()
#driver.find_element_by_xpath('//button[@onclick="getClaim()"]').click()
#driver.find_element_by_class_name('btn btn-lg btn-primary').click()
#driver.find_element_by_id('roll_button_container').click()
driver.find_element_by_css_selector('a.btn').click()
time.sleep(3)
driver.quit()
while True:
time.sleep(60 * 5)
有人能帮我正确点击按钮吗?非常感谢。
解决方法
好的,看起来该页面会将您重定向到一个充满虚假广告的页面。通过点击链接,每次都会弹出一个随机广告。或者,您可以使用 selenium 作为 getClaim
运行 js
。
您可以通过模拟按下按钮来领取奖励 - 运行按钮将运行的功能 - only running javascript with selenium。
cmd = "getClaim()"
driver.execute_script(cmd)
我希望,正如您所说,“可怜的印度人”可以帮助您。