RSelenium+Chrome爬虫脚本语言代码选择失效问题求助
解决Goodreads书评语言代码筛选失效问题
核心修改思路
放弃直接定位option元素点击的方式,改用RSelenium内置的selectElement方法操作下拉框,通过语言代码直接匹配选项,彻底避免不同书籍下拉选项位置变动的麻烦。
修改后的代码
# 先定位到语言选择的下拉框元素 languageSelect <- remDr$findElement("id", "language_code") # 根据englishOnly参数选择对应语言 if(englishOnly){ # 直接通过语言代码选择(示例为德语'de') languageSelect$selectElement(using = "value", value = "de") } else { # 如需默认其他语言,替换此处代码即可,比如英语'en' # languageSelect$selectElement(using = "value", value = "en") # 若仍需保留按位置选择,可继续用index参数 # languageSelect$selectElement(using = "index", value = "4") } Sys.sleep(1)
关键说明
selectElement是RSelenium专门针对下拉选择框的稳定操作方法,无需关心选项位置,直接通过语言代码匹配value属性- 切换其他语言时,只需修改
value = "xx"中的代码(比如英语"en"、法语"fr") - 原代码直接定位option失效,大概率是页面渲染时option的属性未被正确识别,操作父级select元素可规避这类问题
内容的提问来源于stack exchange,提问作者MartinH
相关产品推荐
相关产品推荐

