首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium发现elementS

Selenium发现elementS
EN

Stack Overflow用户
提问于 2022-10-18 11:10:52
回答 1查看 30关注 0票数 0

我在一个网站上写了一个完美的代码,但在另一个网站上却不起作用。基本上问题是找出元素。

此外,还试图通过相对XPATH和绝对XPATH找到它,但是它仍然找不到它。(在有问题的网站)

我想尽量减少共享,如果还有什么可以帮助我的话:)工作元素:

代码语言:javascript
运行
复制
<div id="areaAvail_0" class="areaAvail red button" style="top: 141.65px; left: 212.221px;" data-areaindex="0" data-areatype="ReservedSeating" data-areaid="f8c68849-c882-e911-80dd-984be16723b6" data-hasqtip="94">
                    &nbsp;
                </div>

有问题的因素:

代码语言:javascript
运行
复制
<div id="areaAvail_0" class="areaAvail red button" style="top: 213.238px; left: 91.901px;" data-areaindex="0" data-areatype="GeneralAdmission" data-areaid="20d4c178-7539-ed11-83d1-e7ab999ef3a1" data-hasqtip="1" aria-describedby="qtip-1">
                    &nbsp;
                </div>

守则:

代码语言:javascript
运行
复制
    driver = webdriver.Chrome(service=serv_obj)
    wait = WebDriverWait(driver, 300)
    driver.get(url)
    driver.maximize_window()
    list1 = driver.find_elements(By.CSS_SELECTOR, "div.areaAvail[data-areaindex]")
    wait.until((EC.element_to_be_clickable((By.CSS_SELECTOR, "div.areaAvail[data-areaindex]"))))
print(len(list1))

当我使用Element_to_be_clickable时,它只是“卡住”在那一行。如果我使用time.sleep(),过了一段时间,它将打印0(问题网站)。

有什么想法或建议吗?提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 12:38:38

所以问题解决了。实际上是在iframe内部,为了单击iframe中的元素,我使用了以下几行:

代码语言:javascript
运行
复制
wait.until((EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe#myIframe"))))
wait.until((EC.element_to_be_clickable((By.CSS_SELECTOR, "div.areaAvail[data-areaindex]"))))

谢谢大家!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74109997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档