Selenium 点击 GDPR 点击按钮
Selenium click GDPR click button
我正在尝试以编程方式单击按钮 运行 ubuntu 服务器上的脚本以访问网站内容。我正在尝试使用 recipies
访问该站点
这是我的代码:
driver = webdriver.Firefox(executable_path="/home/ubuntu/.linuxbrew/Cellar/geckodriver/0.26.0/bin/geckodriver",options=options)
data = []
# In[34]:
# click GDPR full-width banner
start_time = datetime.now()
driver.get("http://some_web_site.here/")
time.sleep(10)
# gdpr_button = driver.find_element_by_link_text("Continue")
#gdpr_button = driver.find_element_by_xpath('//button[text()="Continue"]')
driver.find_element_by_xpath("//input[@style='order:2' and @onclick='sendAndRedirect()']").click()
# //input[@onclick='sendAndRedirect()']
# <button style="order:2" onclick="sendAndRedirect();">Continue</button>
但是,我无法到达元素并获取
selenium.common.exceptions.TimeoutException: Message: connection refused
如何访问 GDPR 表单中的 'Continue' 按钮?感谢您的帮助
所需的元素是动态元素,因此要在需要为 element_to_be_clickable()
引入 WebDriverWait 的元素上定位/click()
,您可以使用以下任一项 :
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[onclick^='sendAndRedirect']"))).click()
使用 XPATH
和 innerText 事件:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[text()='Continue']"))).click()
使用 XPATH
和 onclick 事件:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[starts-with(@onclick, 'sendAndRedirect')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我正在尝试以编程方式单击按钮 运行 ubuntu 服务器上的脚本以访问网站内容。我正在尝试使用 recipies
访问该站点这是我的代码:
driver = webdriver.Firefox(executable_path="/home/ubuntu/.linuxbrew/Cellar/geckodriver/0.26.0/bin/geckodriver",options=options)
data = []
# In[34]:
# click GDPR full-width banner
start_time = datetime.now()
driver.get("http://some_web_site.here/")
time.sleep(10)
# gdpr_button = driver.find_element_by_link_text("Continue")
#gdpr_button = driver.find_element_by_xpath('//button[text()="Continue"]')
driver.find_element_by_xpath("//input[@style='order:2' and @onclick='sendAndRedirect()']").click()
# //input[@onclick='sendAndRedirect()']
# <button style="order:2" onclick="sendAndRedirect();">Continue</button>
但是,我无法到达元素并获取
selenium.common.exceptions.TimeoutException: Message: connection refused
如何访问 GDPR 表单中的 'Continue' 按钮?感谢您的帮助
所需的元素是动态元素,因此要在需要为 element_to_be_clickable()
引入 WebDriverWait 的元素上定位/click()
,您可以使用以下任一项
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[onclick^='sendAndRedirect']"))).click()
使用
XPATH
和 innerText 事件:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[text()='Continue']"))).click()
使用
XPATH
和 onclick 事件:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[starts-with(@onclick, 'sendAndRedirect')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC