我使用脚本登录并单击通知。但是如何显示此表单中的所有链接?使用了 htmldom 模块,但没有结果。下面是方法代码:
def authorization(self):
driver = './geckodriver'
browser = webdriver.Firefox(executable_path=driver)
browser.get('https://www.livejournal.com/identity/login.bml?type=google&auto_forwhat=wwws%24/')
enterFirst = browser.find_element_by_class_name('RveJvd')
login = browser.find_element_by_id('identifierId')
time.sleep(2)
login.send_keys('mylogin')
enterFirst.click()
time.sleep(2)
password = browser.find_element_by_name('password')
enterSecond = browser.find_element_by_id('passwordNext')
password.send_keys('mypassword')
enterSecond.click()
browser.get('https://www.youtube.com')
time.sleep(5)
notifications = browser.find_element_by_class_name('ytd-notification-topbar-button-renderer')
notifications.click()
urls = []
dom = htmldom.HtmlDom("https://www.youtube.com")
dom = dom.createDom()
p_links = dom.find('a class="yt-simple-endpoint style-scope ytd-notification-renderer"')
for link in p_links:
print ("URL: " +link.attr("href"))
time.sleep(100)
怎么了?
没有要求回应。只是由于作者对 selenium 感到困惑,所以我将分享我自己使用的东西。对我来说更方便:
通过丢弃所有拐杖,如 htmldom 和 bs4 解决了这个问题。使用了正则表达式(模重新)。并查看网页的来源 - 一个简单的功能:
更远:
谢谢大家。
注意我的代码:它彻底解决了谷歌自动授权的问题。