【问题标题】:slider locating and automating with Selenium python使用 Selenium python 进行滑块定位和自动化
【发布时间】:2020-07-15 07:49:28
【问题描述】:

我正在尝试自动登录网站。我有以下代码:

    def __init__(self):
        self.driver = webdriver.Chrome(executable_path = '/usr/bin/chromedriver')

    def parse(self, response):
        self.driver.get(response.url)
        self.driver.switch_to.frame(self.driver.find_element_by_id('J_loginIframe'))
        self.driver.find_element_by_name('fm-login-id').send_keys('iamgooglepenn')
        self.driver.find_element_by_id('fm-login-password').send_keys('mypassword')
        self.driver.find_element_by_class_name('fm-button fm-submit password-login').click()

现在,这段代码成功输入了登录信息并点击了登录按钮;然而,在我登录之前,网络要求我的蜘蛛向右滑动一个栏。 滑动条的 HTML 如下:

<span id="nc_1_n1z" class="nc_iconfont btn_slide" data-spm-anchor-id="0.0.0.i3.6a38teDwteDwKs" style="left:-2px";> ▫ </span>

有没有办法用 python 自动化?

【问题讨论】:

  • 请阅读为什么screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。
  • 这个页面被chrome驱动快速显示。我不确定如何暂停 chrome 驱动程序并获取此页面的 HTML 代码?我也无法按照我的问题中的说明手动访问此页面
  • 那是因为您还没有将WebDriver与浏览器同步。
  • 同步是指chromedriver会在我常用的chrome浏览器中运行吗?而不是新的 chrome 浏览器?我阅读了链接,但并不真正知道该问题与我的问题有何关系
  • 将 WebDriver 与 浏览上下文 同步是您尚未从任何一个答案中获得的概念。我只能说,当你遇到困难时提出问题,贡献者会帮助你。

标签: python selenium selenium-webdriver scrapy selenium-chromedriver


【解决方案1】:

我认为这是因为您在该设备上多次访问过该网站。因此,如果您从新设备登录,该滑块很可能会出现。因此,要访问滑块,请删除您的缓存和 cookie,然后重试(或使用隐身模式)。或者当您在测试过程中看到滑块时,右键单击并检查。

所以下次运行时,请务必使用 xpath 来单击滑块

希望这行得通!

【讨论】:

    猜你喜欢
    • 2018-05-28
    • 2012-09-27
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    相关资源
    最近更新 更多