h451982616 2023-07-25 10:25 采纳率: 83.3%
浏览 10
已结题

定位豆瓣主页登录验证码图片位置坐标不准的问题

在豆瓣主页的登录窗口,获取验证码图片位置坐标,代码执行后得到的结果与实际坐标差异太大,实际坐标如图1。网上的办法也找了,例如桌面缩放比设置为100%也设置了,如图2,还是一样的问题。

图1

img

图2

img

import time
from selenium import webdriver

if __name__ == '__main__':
    username = '18983241561'
    password = '654321'
    browser = webdriver.Chrome(executable_path='C:\Program Files\Google\Chrome\Application\chromedriver.exe')
    url = 'https://www.douban.com/'
    browser.get(url)
    browser.maximize_window()
    time.sleep(3)
    browser.switch_to.frame(browser.find_element_by_xpath("//iframe[@src='//accounts.douban.com/passport/login_popup?login_source=anony']"))
    pass_choice = browser.find_element_by_xpath("//li[@class='account-tab-account']")
    pass_choice.click()
    username_ele = browser.find_element_by_xpath("//div[@class='account-tabcon-start']//div[@class='account-form-field']/input")
    password_ele = browser.find_element_by_xpath("//input[@id='password']")
    username_ele.send_keys(username)
    password_ele.send_keys(password)
    login_ele = browser.find_element_by_xpath("//a[@class='btn btn-account btn-active']")
    login_ele.click()
    time.sleep(5)

    browser.switch_to.frame(browser.find_element_by_xpath("//iframe[@src='https://captcha.gtimg.com/1/template/drag_ele.html']"))
    img = browser.find_element_by_xpath("//div[@class='tc-bg-img unselectable']")
    location = img.location
    print(type(location), location)

输出结果为:
<class 'dict'> {'x': 10, 'y': 62}

  • 写回答

2条回答 默认 最新

  • h451982616 2023-07-27 08:55
    关注

    已找到原因,有时候真的佩服自己,作为刚入门学习的小白,在这上面提的大部分问题,最后还是靠自己解决了!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月25日