首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium单击GDPR单击按钮

Selenium单击GDPR单击按钮
EN

Stack Overflow用户
提问于 2020-03-12 20:35:10
回答 1查看 579关注 0票数 2

我正在尝试以编程方式单击运行在ubuntu服务器上的脚本的按钮,以访问网站内容。我正试图用菜谱访问这个网站。

这是我的密码:

代码语言:javascript
复制
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>

但是,我无法到达元素并获得

代码语言:javascript
复制
selenium.common.exceptions.TimeoutException: Message: connection refused

如何访问GDPR表单中的“继续”按钮?感谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-12 20:48:42

所需的元素是一个动态元素,因此要在该元素上定位/click(),需要为element_to_be_clickable()诱导WebDriverWait,您可以使用以下任何一个定位器策略

  • 使用CSS_SELECTOR: 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,(WebDriverWait)(驱动程序,按钮点击^=‘sendAndRedirect’)).click()
  • 使用XPATH和innerText事件: (驱动程序,20).until(EC.element_to_be_clickable((By.XPATH,“//WebDriverWait=‘WebDriverWait’).click()
  • 使用XPATH和onclick事件: ( 20).until(EC.element_to_be_clickable((By.XPATH,“//WebDriverWait-with(@onclick,‘sendAndRedirect’)”)).click()
  • 注意事项:您必须添加以下导入: 从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60661525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档