首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法点击“主页”按钮Python

无法点击“主页”按钮Python
EN

Stack Overflow用户
提问于 2021-12-04 14:46:54
回答 2查看 158关注 0票数 1

网站上,当我登录用户名:水星和:水星,点击提交按钮,我进入登录成功的页面。然后我需要点击主页按钮,这是在左边,但我不能。

代码语言:javascript
复制
from telnetlib import EC
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome(executable_path="D:\ChromeDriverExtracted\chromedriver")
driver.get("http://demo.guru99.com/test/newtours/")
driver.maximize_window()

driver.find_element_by_name("userName").send_keys("mercury")
driver.find_element_by_name("password").send_keys("mercury")
driver.find_element_by_name("submit").click()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[2]/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td[2]/font/a"))).click()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-04 14:56:53

这是一个绝对的xpath

代码语言:javascript
复制
/html/body/div[2]/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td[2]/font/a

请使用以下基于文本的定位器之一:

代码语言:javascript
复制
//a[text()='Home']

或者像这样使用LINK_TEXT

代码语言:javascript
复制
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Home"))).click()

还可以使用以下CSS选择器:

代码语言:javascript
复制
a[href='index.php']

还有其他方法可以点击,

代码试用1:

代码语言:javascript
复制
time.sleep(5)
driver.find_element_by_xpath("//a[text()='Home']").click()

代码试用2:

代码语言:javascript
复制
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[text()='Home']"))).click()

代码试用3:

代码语言:javascript
复制
time.sleep(5)
button = driver.find_element_by_xpath("//a[text()='Home']")
driver.execute_script("arguments[0].click();", button)

代码试用4:

代码语言:javascript
复制
time.sleep(5)
button = driver.find_element_by_xpath("//a[text()='Home']")
ActionChains(driver).move_to_element(button).click().perform()

导入:

代码语言:javascript
复制
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
票数 1
EN

Stack Overflow用户

发布于 2021-12-04 15:23:08

要单击文本为Home的元素,需要为https://stackoverflow.com/questions/54193625/how-to-click-on-a-element-through-selenium-python/54194511#54194511诱导WebDriverWait,可以使用以下任何一个定位器策略

  • 使用LINK_TEXT: ( 5).until(EC.element_to_be_clickable((By.LINK_TEXT,“Home”)(.click()
  • 使用CSS_SELECTOR: ( 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.btn.signin-btn.sbLoginBtn >span.btf-text“)).click()
  • 使用XPATH: ( 5).until(EC.element_to_be_clickable((By.XPATH,“//atext()=‘Home’).click()
  • 注意事项:您必须添加以下导入: 从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70226649

复制
相关文章

相似问题

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