用硒(Python)刮除React组件

时间:2020-01-08 22:55:19

标签: python reactjs selenium web-scraping

我想从超级帐户中抓取一些数据。 所以我需要证明自己。当我不使用无头选项的情况下使用Selenium时,效果很好,但是启用此选项后,似乎无法检索密码输入。 当我寻找页面的源代码(https://auth.uber.com/login/)时,我看到的是电子邮件的输入,而不是密码的输入。但是由于一些奇怪的原因,我可以在javascript控制台中看到密码输入(但是复制css选择器或其他没有headless选项的东西),这意味着此输入是由js创建的,但为什么我不能捕获到它输入带有无头选项? (我尝试过花点时间。sleep(x),但这没用)

编辑: 到目前为止我的代码

    mail=driver.find_element_by_id('useridInput')
    mail.send_keys(Uber.login_data['mail'])
    driver.find_element_by_tag_name('button').click()
    time.sleep(5)
    password=driver.find_element_by_name('password')
    password.send_keys(Uber.login_data['password'])
    driver.find_element_by_tag_name('button').click()
    time.sleep(5)

我认为我的代码不是问题,我也尝试增加时间。sleep(x) 问题是我总是遇到相同的错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element:         Unable to locate element: {"method":"css selector","selector":"  [name="password"]"}

但是在js控制台中

<input type="password" class="text-input " name="password" id="password" value="" aria-required="true" aria-invalid="false" aria-describedby="error-caption input-title input-label" style="box-shadow: white 0px 0px 0px 30px inset; background-image: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAbNJREFUWAntV8FqwkAQnaymUkpChB7tKSfxWCie/Yb+gbdeCqGf0YsQ+hU95QNyDoWCF/HkqdeiIaEUqyZ1ArvodrOHxanQOiCzO28y781skKwFW3scPV1/febP69XqarNeNTB2KGs07U3Ttt/Ozp3bh/u7V7muheQf6ftLUWyYDB5yz1ijuPAub2QRDDunJsdGkAO55KYYjl0OUu1VXOzQZ64Tr+IiPXedGI79bQHdbheCIAD0dUY6gV6vB67rAvo6IxVgWVbFy71KBKkAFaEc2xPQarXA931ot9tyHphiPwpJgSbfe54Hw+EQHMfZ/msVEEURjMfjCjbFeG2dFxPo9/sVOSYzxmAwGIjnTDFRQLMQAjQ5pJAQkCQJ5HlekeERxHEsiE0xUUCzEO9AmqYQhiF0Oh2Yz+ewWCzEY6aYKKBZCAGYs1wuYTabKdNNMWWxnaA4gp3Yry5JBZRlWTXDvaozUgGTyQSyLAP0dbb3DtQlmcan0yngT2ekE9ARc+z4AvC7nauh9iouhpcGamJeX8XF8MaClwaeROWRA7nk+tUnyzGvZrKg0/40gdME/t8EvgG0/NOS6v9NHQAAAABJRU5ErkJggg==&quot;); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; cursor: auto;" autocomplete="off">

在输入之前,我就有

<!-- react-empty: 353 --> 

我不知道这意味着什么,是否可以解释为什么我无法选择输入。 在源代码中,我输入的是电子邮件,而不是密码。

顺便说一下,没有iframe

我还有另一个昨天没有的问题。当我输入我的电子邮件时,看起来不错,但在出​​现以下弹出窗口之后: enter image description here

这表示无论启用了无头选项,但我无法抓取数据。我不知道是否有使用硒处理小费的小窍门

0 个答案:

没有答案