繁体   English   中英

无法使用 Python Selenium 选择项目我做错了什么?

[英]Unable to select item using Python Selenium What am I doing wrong?

这是我关于堆栈溢出的第一篇文章,我做了一些搜索,但找不到解决我的问题的方法。 如果这个问题的答案很明显/张贴在其他地方,我们深表歉意。

所以,我是一名英语老师,我正在尝试制作一个小脚本,该脚本将复制我公司网站的反馈并将其解析为 Excel 电子表格。 我已经完成了“用 Python 自动化无聊的东西”课程,所以我对 Selenium 进行了一些练习,但是我无法让 Selenium 在我的公司登录页面上选择用户名/密码文本框。 我尝试过标签、类、CSS 选择器和 XPath 选择器。 什么都行不通。

为了确保我使用 CSS 选择器使用相同的设置进行了简单的 Google 搜索,并且效果很好。 所以也许这就是 HTML 的编写方式?

HTML 的屏幕截图

HTML:

<div data-v-e72e25c2="" class="username ipt-box"><img data-v-e72e25c2="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN4AAADeCAMAAABluU6FAAAB0VBMVEUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIAAABVa69UarBUaq5Uaq5Taa1NYZ9Taa1JXJhBUodNYqBSaKtSZqpTaa5SaKtUaq5SZ6lSaKxOY6NRZqk7S3pSZqlUaq9Taa1RZadRZ6pQZaZEVo5HWpNOYqJAUYUzQGkoMlARGCg9TH5QZqhUa7BSaKtUaa5QZaZOY6RPY6RNYJ9SZ6pMYJ5QZadEVYxJXZZNYqA8TnxJW5UXHjAqNFY0QmslNFczQGZTaKxPY6NNX55TaKxKXps+T4I4RnJOY6E9TXxFWI9NYZ5HXJEVGy4YHi8qNlQLCxUjNVhSaKpSaKtHWJNIWpVEVo1KXpk7SnZPYqEgKkYnMU5Uaq/////6+/1WbLDCyuO0vtzx8/hZbrH3+PvT2eqptNeDk8V5isD8/f6Il8dzhb5vgrxec7Tt8Pfo6/Sxu9ueq9KNm8lqfbllebdhdbVdcrPq7fXc4e/Y3e2st9iXpM9bcLLi5fHM0+fGzeR9jsKlsdXz9frl6PPR1+nI0OW+xuG5wt+2wN2bqNCRoMzg5PCirtR2iL/Ovdx5AAAAaXRSTlMAAgQICgMMBg4VERcZGg0eEBwgIiYoJPr+6e69osiRbliwmeXY1M7BiIJgluHdxcPCZ2FdWkw9LSDI+NPOu7iempCMcFBPSTs4MjArFhS0rKajdWhXUFBFPyspJR4YDriFgoCAZEVENxoN7q6fAAAOkUlEQVR42tyaZ1MTURSGLRGEgAUdd0mMJmCETLBiQcWCKDIqOjpjr+Oo4xsbOio4Nuy91/HXivEmZ5ezN8l6djcbnq/6gWfe955zs7tTgmWqjSmTAxIiJoWoVWFySdJfPfkcp+aZlIZTFZNRcaqGGSWoFcOSYtM0zFCE3VBnxo30lmEV5GpOZvUTcHQMn6GjG9eaziBNm2GoBLkbqTlqaTRtimER1LvZzCJabI5WwxAIMjmLGxOrYzBJi2EIBJmc3c1Ba1YRB00yJMHq+ZVxU2ZDg92Z7IFUPJHuihlGrCudiKcOtGW6B/fOHMciqjWUC8rlim4UW89AfzbeZUKD2RVv69/ZM/OfpSVFMqyeoKMcue1NZtMmKsBMZ5MnbYpkyAXlfnK5oUN9vQZcYPT27bxkUayeILcjubzb6WSK1Nwo7uveO4cZkqDATyxXX5A72hbDfxNrO9I4Z44yJMH6YAV5L5XcscwyCFnWuUcZWgWpodzP3+hI7ug+Ex5gnjnS2EgRKkFBgILoSG4gDs/o2NlIEZIgD9BHO5vcoQQ8JZFsVBEyQT/9HKObnuyF56RXk6AuQB/tKLrBBHwhsUsjSH6+FzMy1GfAJ4zsybwgNZQX1L9i5qPrboePtJ5vyAtSgL4V1Cm6Y3H4TMeuBtVQXYBe21F0GQO+Y3Q2NLAAmZ8Pdj1xBELHHhL03I/bqWIOtCIgWneQHxWU+8nt6NidNREYZmeDEhwfoXQAyc9ru54OBMoKKqjnfvzYXQygmLygDSUOoJd2yY0InI2ro/kAPfbjdpF+E1XAPKj8ZqoBw/xEekW7DKpEZ5QOIPkxPZldG6rG1lN0ADV+QrvTKVSRVHPUSz9uF0dV6cj7NQr9+FhRzUyhyqROMT82XtzbVf/cFdja5JnfRLsMQkBnEy1A5iewm96PUHCQ8hvXY36uq6numUkTocBcTX70+8F1PScMzYsbERI27iA/Nj7/s5o9rQgNrbub1P7THD/3Y6UDIWJFs8yP9JTdWYSK7U3Kj8Yn1dN9eAMhGSsFzDVNUfKbEF9NHzw6flG1/lg93VYzjtCxorkwPnk9XYRXXx+S2wo7fvbxUl9feXz2ah4zEEKMXQU/Xs9ar6aqJ/m5qae9mt0IKaua/40Xh3pWHt5QO0JK64lmt/HxavYhtGxrdunH58qgAS94PXLt3Yv7l6+/+fz1wyg8wrhgrSefLuXDm56AnKev3l7OWXh27T08YcNcN/Hx8CJJiBl+eD3HuHkbXrBK+anpwuIrd/J6IeXns5wj78YgZ5Ob+PhSOAQhw1dzOm6MQM5q8qtoOdjDS0DG4+c5PXc+QMzSufnpSdOF4it/8gYgY/ReriRXr0DKGoqvgtPn6XXsMdlpeAApy2fPrSg+PlgiRyFimDWT8wpSDjvEpzTKhLcPIq7aDtrNh7fHhp/cHflum6SXxRtws4v4bOEdMyFhxCr37TGK3PqVI+5Lj5+5ThuffrDIn7lf+UQOv+7Cxg/LJeYhhGyn+Aq7jw8XHl5kGST8IIMvrzGB93SRuf4UMpbNrjQ+S3jSwfKaBN6CM3ojV+AlhBwuxjdrQny68ORvux7lCrx5Wvrfn0HIQoqPDRdtN0/HIIHG5u1y/+E3ZMROqPh4O/XdTELClY/FqzOcGbvsWTtXqfhoN1A7NeEJl96tXIFRaPhabC8E0Opj8ZXSGzIg4UNxr4HB9uIwZBjHabgwPeeldwgirpW/VQ4Xh+cYhKxhw0W1U9vNPoh4V8Gl8k1O8R5CtrXw4VJarxciXuQUt6Dlc07xCEI2tRTiK6lH3dxrQMQnvhb0q+EHhBjrNe30ZC1UPT2ssrST6/FuZuEG4dm7DSlbW/jsdNJT4dWlISDwyYklLWyzkx7vZo8JAUHtPcLc/dcvGrUfPq6nujkAAcHdWog1DqtBr9cPAcHdOYlzzqtBc/TaICC4XwzEwha+GvR6cQgI7vcesXKe8uN6fLLUdUFAcL/WifZ5jpvP+egNmRAQ3LMWwjzucPh0eoMQIHhSJmCtZfORHr+z/O1mNwQInnMKWNwye7ZttpAemywZCBA8pRawiM0WvV4WAgTvGAQs5LNF6fHBeQACBG+IBOx3HJ0OepFIXQoSAny/R2yZx0an0mODU7jVA3s7y/Y62wzOeglICejdOrHUojezjF4acgL5MoJYsmDcT20G0mODc1yvju5kMvz/roVo/6tHP/nURxKOe6EuBq/w6askTmwBW3xaPQOewr4p8wHDhV4oP7/1TG9WDDWHrZyzSut1oeZod6GXRs2xxIVeAjXH0vnl9GYU9UL67XspVrrQ+0Pdube0EURRHAptYwoidJdEsYlQtRLRFkFF+qaKiEIfCv4jlNJCezdpbZ41ia8kTaII1VpF/LbFdZMbmd7s3JmCk983OLnnnrs7OzO59hPAfJ5Z8uZ8Cx3Ha4Y8A044c+lnRIvuYkTh7PS49jPuSHB4lPqazoI2EYY8raWk8nYq5zAp/smAHlF5ebc0FgIr6aSjRFVP4CTjmXMpDGok8OWHz+8NUCY8zZAXUHwqK6ccHeJ7oMp9S07ebVee2lzPbzqanCZAjXFLfJ0lFyMCSpMhk3S0Se2DEv2WuBhBy3sFfPKoToNjUOKDxVhK6p4DNmU9Z2p+D4tZEguBNxvy+FsHErUrIXGwly1J9VEln9k6chC1XS7hzxa9jCs+UweGgMm2gyTrBWCRrTnIYRnYDHrJQi7Cu6C8UeBRWG+JhxKw2UkqfnjAZKE/oYiDbwB4bLHDnR4q8V3gsiyMPULejUt5ayHgUMLH5xNQY7eIX1aASWjButvm86U4GQJPgMM5OjMBimTjzfJxh99jW5wL7eR1B14Ch2Y0xEugTF05PF+gN9tuHcBsYU2+cg5jQZ3Kuqo7Y0RwNuSJ2fKF03x7jkeuDBqkm7OB5/DQApEstLwezkb/k2bngQ4bToM8cHiKrSfIo5qP88Z+8J82qWyqbR6PWpbYej7ylvpAmqrf1mLuz3QGDPqmW73ZVl6LOxkvRUU1U9EmPwcGby68SWxXJZsvsArSNIOzDFrUlQJ4Bb3ps9m41Z3BMZDFaVAAHTA6v4E8YzZ6U9wqTk6+nhHoCHkRVx610Z9uvsUwdIC88BR6kzimQbjzfSfIe2RTT2Q+8npWO0HeipubEkekBHcGH5gvbxyLRxxwo905Z768GJmbvvJ6gvdMlzdse8FCHi6lszMQHAAp4o7HPmjxiz3Wl7F49NFgunxDwHnmPAI9fnCfOQdt92WBCBZKHobLBGstog56VIrMtcAoESwoj3CnFy5y3ZdIORfUvoMmGdfmuR2QY9jGqUBcquDjzvmQlL7zarKaToA2+eNi8WAD5AhNYvGkr8TA8l2ES3AUjKXftrB4xIUmfuVbM+7i2Aa9C6ziieHilu8TGEoUiyd9mZBYvi6jrqRGxm26eCjPv3zzRu5ebeSKfPFQ3tXyjYCBROjioTyZ8hlpz5mmOp/ikbMBy7doXHr2TmGusK9AxPJ5+mZNuzQ99k9rUsFCd59rzy7T2q/ZeKzrR+nydT0Eg5ix0Zp08fzKh+liVvv1uY3nWZO8+pdXvllj/iwkhI3HLh6tb8KQeAlHPXUsa9LDwbPnnXdgBB8v1V21pjgU2OW7Y0R8RmxsPJXiYfkEfc/h2vnb3R20phFFYRjelTZRrEmbsSK6UFwIEQ0mEkJsCIWSbBKakkVCFm0ppf//D3S4ful7zVHS6Z3rTDxbNz5859y5I8i5TnUMXqaFBfBsezrfQ+F/cJhJx+BlXDdh25Pxe1Mt+PY5nKLLtCzE8mx7psdLtdD8Zp4uYNWL9b16HL+HQuaPuePQDFjUY9oTX6Ww87Pt6cLWLMHzx0++L8UsZv3h6TIsycruOyjgfpZ0MuiytSfHy+st5/u09vt1cyBdTbrABXV2vaDvu1zz+9Hxke4q6ILWC9r2XPRVzte5kLz93t0z9UQIXw5pfRyf8k3Wt05ejYkuaLUnPOsjv+gNSmNyqEgXafGs79uuVM/X8Ptu4hoT3XYGXbalyNb3OXqAw0O/MdHFWPqM76181XHUCfzQITp0MVd243MDWL0/i9ahSetC0TF2GXSBvq25r/rz+HeU6s/7kugqEdbJw8On+9ljg9bHJ/njeq4viU6NqZsYOnh5+RSgfGmA9fpBP+fkbjycGnPxcWd1OfoYQAVYnwxzfNINPBzRMXbBOutj/hhAAqzWa7enjTxsjdHX1DbHMXVPx465Q5ezTwP4t0NrR+f7obj99hE4vy81djF0vo/3BwLUEZoCa7etZsBbz7WCA6cDk+h4RzC6cJ8dQAIU8H58mvyPLTntTFObC87NnHBEx9gZXRTfCmDtbnJ2kmSinZwNLpxNwa3ARdNZHw36FJgKd3am44+9xj8dJb3WTUpTbsLVn+JozDg637csQICKMP2al5PvrVG3sRLWHba+DX7NZXuuJwkO3JLoIujwmQAXgfMIJdzZ3b077LRbV7NRv9dtJkmz2+uPZletdudw+g4ZNgW3iDPRGV2UBiVAgC5CCVOiM7raUzmTalcyR3M2BQeO6KI1pvU9A5QwJcooJCWYZI4m2zO4eDp8NkCACCGCpASDhs3H2ejQxfQtByIUUUYpKbkkEw3bUlxcHT4CXAQSIUJnlJKSSzJsBLeAIzqjixsgQD9CiDJKqcIlGTQvOHBh0YUH6AN9IUYxVbAkW7D5uPDowoF+ghI6IkaYFJ9siSabn1wgLtwH0AhFBEkBE83YwGXRxQdKCNEhbQkGzdlKgJPPAhH6RClt6SNo2AwuUBcOREiIMs6VFC7JiA1bQTiAzwoxCqoSCtkKWzE4fBaIEKNhwkKGDVxGXXwgQoggKWDQsJUDJ6AVQsRoC5lo2EqCA+gJIYKE6bMEg+ZsZcIBXCGEScEyttLhJDREjKaszNFKagNojUZpXJKVGodwOdIWsBdhkzBTvSybaoNpqk22PdbmyrzaWJipNZv+ADCW8mbKUkM/AAAAAElFTkSuQmCC" alt="" class="head-icon"> <input data-v-e72e25c2="" type="text" placeholder="Email Address"> <span data-v-e72e25c2=""></span></div>

我的代码:

from openpyxl import Workbook
wb = Workbook()
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

import datetime
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common import keys
import requests
import time

#Fixed Variables
fileDirectory = "c:\\User\\Documents\\Coding\\feedbackReport"
os.chdir("c:\\Users\\Documents\\Coding\\feedbackReport")
scanWorkbook = os.listdir(fileDirectory)
dest_filename = 'Progess_Reports.xlsx'
workBookLoaded = 0
username = 'test@gmail.com'

#Detect if excel sheet exists, if no, create one, if yes, open it

if scanWorkbook.count(dest_filename) == 1:
    wb = load_workbook(filename = dest_filename)
    ws0 = wb.active
    workBookLoaded = 1
    print("Workbook loaded")

if workBookLoaded == 0:
    print("New WB Created")
    ws0 = wb.active
    ws0.title  = 'Reports'
    ws0['A2'] = "Session Time"
    ws0["B2"] = "Session Type"
    ws0["C2"] = "Student"
    ws0["D2"] = "Rating"
    ws0["E2"] = "Compliments"
    ws0["F2"] = "Suggestions"
    wb.save(filename = dest_filename)


#Access feedback section


browser = webdriver.Firefox()


#Manage the login page
browser.get('https://test.com')
time.sleep(8)
#usernameField = browser.find_element_by_css_selector("css=.username > input")
#usernameField = browser.find_elements_by_class_name('username')
#usernameField = browser.find_element_by_tag_name(r'input data-v-e72e25c2="" type="text" placeholder="Email Address"')
#usernameField = browser.find_element_by_xpath("xpath=//input[@type='text']")

usernameField.send_keys(username)




谁能确认我做错了什么? 我已经包含了一小部分我的选择尝试以供参考。 此外,热烈欢迎有关我的代码的任何方面的任何评论/建议。

如果需要任何进一步的信息,请告诉我。

看看这是否有效

driver.find_element_by_xpath("//input[@placeholder='Email Address']").send_keys(username)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM