Javascript Selenium单击GDPR单击按钮
我试图通过编程方式单击按钮,在ubuntu服务器上运行脚本,以访问网站内容。我正试图到达该网站与 这是我的代码:Javascript Selenium单击GDPR单击按钮,javascript,python,selenium,web-scraping,geckodriver,Javascript,Python,Selenium,Web Scraping,Geckodriver,我试图通过编程方式单击按钮,在ubuntu服务器上运行脚本,以访问网站内容。我正试图到达该网站与 这是我的代码: driver=webdriver.Firefox(可执行文件路径=“/home/ubuntu/.linuxbrew/cillar/geckodriver/0.26.0/bin/geckodriver”,options=options) 数据=[] #在[34]中: #单击GDPR全宽横幅 start_time=datetime.now() 驱动程序。获取(“http://some_
driver=webdriver.Firefox(可执行文件路径=“/home/ubuntu/.linuxbrew/cillar/geckodriver/0.26.0/bin/geckodriver”,options=options)
数据=[]
#在[34]中:
#单击GDPR全宽横幅
start_time=datetime.now()
驱动程序。获取(“http://some_web_site.here/")
时间。睡眠(10)
#gdpr\u按钮=驱动程序。通过链接文本查找元素(“继续”)
#gdpr_button=驱动程序。通过xpath(“//button[text()=”Continue“])查找元素
驱动程序。通过xpath(//input[@style='order:2'和@onclick='sendanderirect()')查找元素。单击()
#//输入[@onclick='sendAndRedirect()']
#继续
然而,我无法到达元素并获得
selenium.common.exceptions.TimeoutException: Message: connection refused
如何访问GDPR表单中的“继续”按钮?感谢您的帮助所需元素是动态元素,因此要在元素上找到/
click()
,您需要引导WebDriverWait使元素可单击()
,并且您可以使用以下任一选项:
- 使用
:CSS\u选择器
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[onclick^='sendAndRedirect']"))).click()
- 使用XPATH和innerText事件:
- 使用
和onclick事件:XPATH
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
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