【发布时间】:2018-04-11 01:47:44
【问题描述】:
嗨,我是使用 python 的 selenium 初学者.. 问题是 id、xpath 和 css 选择器包含随机 id.. 我无法解决这个问题,因为每次我跳转到页面时都是随机 id 我已经尝试使用 xpath、id、css 选择器甚至类名,但没有用。希望任何人都可以帮助我,并为糟糕的语法感到抱歉
<div role="option" id="listitem1innerListBoxjqxWidgetac7737dcf714" class="jqx-listitem-element" style="height: 24px; top: 25px; left: 0px;" aria-selected="true"><span style="white-space: pre; display: block; visibility: inherit; width: 193px;" class="jqx-listitem-state-normal jqx-listitem-state-normal-default jqx-item jqx-item-default jqx-rc-all jqx-rc-all-default jqx-listitem-state-selected jqx-listitem-state-selected-default jqx-fill-state-pressed jqx-fill-state-pressed-default">0900</span></div>
<span style="white-space: pre; display: block; visibility: inherit; width: 193px;" class="jqx-listitem-state-normal jqx-listitem-state-normal-default jqx-item jqx-item-default jqx-rc-all jqx-rc-all-default jqx-listitem-state-selected jqx-listitem-state-selected-default jqx-fill-state-pressed jqx-fill-state-pressed-default">0900</span>
//*[@id="listitem1innerListBoxjqxWidgetac7737dcf714"]/span <----Xpath
#listitem1innerListBoxjqxWidgetac7737dcf714 > span <---css selector
每次我访问该页面时都有随机 id。希望任何人都可以解决我的问题tq
【问题讨论】:
-
请详细说明您的尝试
-
hour_click = context.browser.find_element_by_xpath("//*[@id='listitem1innerListBoxjqxWidgetac7737dcf714']/span") hour_click.click() time.sleep(3)
-
hour_click = context.browser.find_element_by_id("listitem1innerListBoxjqxWidgetac7737dcf714") hour_click.click() time.sleep(3)
-
每次运行时 div 元素的类属性是否相同(并且足够独特)?如果是这样,请修改 xpath 以使用 class 属性而不是 @class="jqx-listitem-element"。
标签: python selenium selenium-webdriver selenium-chromedriver