打开时遇到问题
https://pribot.org/polisis/?company_url=http%3A%2F%2Fhotmail.com&status=policyAbsentRedirect
在Firefox上使用硒。我正在使用python。
我要运行此代码以单击“确定!”按钮,但确实有效,只是没有错误。
帮助!
我的代码是
driver.find_element_by_xpath("//button[@class='btn theme--dark primary'][@type='button']").click()
请注意,当我执行此代码时,包含“ SURE”按钮的弹出层消失了,但未应用SURE按钮动作。好像我在单击ESC。
答案 0 :(得分:0)
import time
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:/Users/myname/Desktop/Projects/chromedriver.exe")
driver.get("https://pribot.org/polisis/?company_url=http%3A%2F%2Fhotmail.com&status=policyAbsentRedirect")
time.sleep(5)
driver.find_element_by_xpath('//*[@id="app"]/div[2]/div/div/div[2]/div/div/button[2]').click()
使用上面的代码片段对我来说效果很好。 您需要明确等待3-5秒。 希望能帮助到你!! 如果没有,请尽快通知我们。
答案 1 :(得分:0)
根据问题中的url,您需要诱使 WebDriverWait 使所需的元素可点击,并且可以使用以下解决方案:
代码块:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver=webdriver.Firefox(executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("https://pribot.org/polisis/?company_url=http%3A%2F%2Fhotmail.com&status=policyAbsentRedirect")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog dialog--active dialog--persistent']//button[@class='btn theme--dark primary']/div[@class='btn__content']"))).click()
浏览器快照:
答案 2 :(得分:0)
您询问如何单击包含文本“确定!”的元素。唯一的方法是使用指定所需文本的XPath。您可以使用下面的XPath。
//div[.='Sure!']
由于该弹出窗口最初不会在页面加载时显示,因此您需要添加一个等待时间,例如
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[.='Sure!']"))).click()