【问题标题】:Selenium click not working in Chrome [duplicate]Selenium 点击在 Chrome 中不起作用 [重复]
【发布时间】:2018-06-06 03:34:52
【问题描述】:

我正在尝试点击 instagram 页面上显示登录的锚标记。这是我的代码。

browser = webdriver.Chrome()
browser.get('https://instagram.com')
login_elem = browser.findElement(By.xpath('//p/a[text() = "Log in"'))
login_elem.click()

浏览器打开,但未单击该元素。我尝试了各种其他 xpath,但都没有奏效。 Here is the image for the Instagram source.

【问题讨论】:

  • 作为 WebDriver 的浏览器对象具有 find_element 方法,并且 By.xpath 应写为 browser.find_element(By.XPATH, '//a[text() = "Log in"]') 阅读有关 selenium api 的信息
  • 那个 xpath 缺少一个结束 ]
  • 修复了这两个问题,但仍然没有点击链接。
  • @munyb 你遇到了什么错误?请分享错误堆栈跟踪

标签: python google-chrome selenium instagram chrome-web-driver


【解决方案1】:

这是我在本地系统上尝试过的,它成功了

from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome(executable_path="D:\\cs\\chromedriver.exe")
driver.get("https://www.instagram.com/")
a=driver.find_element(By.XPATH,'//a[text() = "Log in"]')
# added this step for compatibility of scrolling to the view
driver.execute_script("return arguments[0].scrollIntoView();", a)
a.click()

更正了 XPATH 和其他更改。请注意可执行路径应替换为您的路径。

【讨论】:

  • 这成功了!谢谢你。我相信问题是我需要导入 By?... 欣赏它。
【解决方案2】:

你可以在Xpath下面使用

.//*[@id='react-root']/section/main/article/div[2]/div[2]/p/a

或 CSS 选择器

.izU2O>a

或链接文本

Log in

【讨论】:

  • 已经尝试了所有这些,但由于某种原因没有任何工作。只需打开浏览器,什么都没有发生。然后在一段时间后关闭。
  • 你的chrome版本和chrome驱动版本是多少?
  • 66.0.3359.18 和网络驱动程序 2.39 我相信
  • 你能用-webdriver.Chrome(executable_path="/path/to/chromedriver exe")初始化驱动吗
  • 改成这个了,browser = webdriver.Chrome(executable_path="/Users/name/Downloads/chromedriver") 还是什么都没有。
【解决方案3】:

试试这个代码:

element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Log in")))
element.click()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多